Download as pdf or txt
Download as pdf or txt
You are on page 1of 383

Epicor ERP

Configurator Technical
Reference Guide
9.05.702
Disclaimer
This document is for informational purposes only and is subject to change without notice. This document and its
contents, including the viewpoints, dates and functional content expressed herein are believed to be accurate as of its
date of publication. However, Epicor Software Corporation makes no guarantee, representations or warranties with
regard to the enclosed information and specifically disclaims any applicable implied warranties, such as fitness for a
particular purpose, merchantability, satisfactory quality or reasonable skill and care. As each user of Epicor software is
likely to be unique in their requirements in the use of such software and their business processes, users of this document
are always advised to discuss the content of this document with their Epicor account manager. All information contained
herein is subject to change without notice and changes to this document since printing and other important information
about the software product are made or published in release notes, and you are urged to obtain the current release
notes for the software product. We welcome user comments and reserve the right to revise this publication and/or
make improvements or changes to the products or programs described in this publication at any time, without notice.
The usage of any Epicor software shall be pursuant to an Epicor end user license agreement and the performance of
any consulting services by Epicor personnel shall be pursuant to Epicor's standard services terms and conditions. Usage
of the solution(s) described in this document with other Epicor software or third party products may require the purchase
of licenses for such other products. Where any software is expressed to be compliant with local laws or requirements
in this document, such compliance is not a warranty and is based solely on Epicor's current understanding of such laws
and requirements. All laws and requirements are subject to varying interpretations as well as to change and accordingly
Epicor cannot guarantee that the software will be compliant and up to date with such changes. All statements of
platform and product compatibility in this document shall be considered individually in relation to the products referred
to in the relevant statement, i.e., where any Epicor software is stated to be compatible with one product and also
stated to be compatible with another product, it should not be interpreted that such Epicor software is compatible
with both of the products running at the same time on the same platform or environment. Additionally platform or
product compatibility may require the application of Epicor or third-party updates, patches and/or service packs and
Epicor has no responsibility for compatibility issues which may be caused by updates, patches and/or service packs
released by third parties after the date of publication of this document. Epicor® is a registered trademark and/or
trademark of Epicor Software Corporation in the United States, certain other countries and/or the EU. All other
trademarks mentioned are the property of their respective owners. Copyright © Epicor Software Corporation 2013.
All rights reserved. No part of this publication may be reproduced in any form without the prior written consent of
Epicor Software Corporation.

DOC0091E9
9.05.702
Revision: April 01, 2013 2:37 a.m.
Total pages: 383
sys.ditaval
Configurator Technical Reference Guide Contents

Contents
Introduction..........................................................................................................................26
Purpose of this Guide.....................................................................................................................................26
Intended Audience.........................................................................................................................................26
How it is Organized.......................................................................................................................................26
Configurator Concepts and Base Components...................................................................28
The Configuration Session.............................................................................................................................28
The Evaluation Process...................................................................................................................................30
Smart String Configuration Parsing.........................................................................................................31
Page Level Processing.............................................................................................................................31
Input Control Display Processing.............................................................................................................32
On Leave and Prompt When Expression Processing.................................................................................33
Dynamic List Processing..........................................................................................................................33
Method Rules Processing........................................................................................................................34
Configuration Price Processing................................................................................................................35
Part Creation Processing.........................................................................................................................35
Smart String Processing..........................................................................................................................37
Configurator in a Multi-Company Enterprise..................................................................................................39
Sales Company Processing......................................................................................................................41
Manufacturing Company Processing.......................................................................................................42
Use of Configuration Rules.....................................................................................................................43
Configurator Synchronization.................................................................................................................44
Implementation Components and Calculations.................................................................45
Pre-Implementation Planning.........................................................................................................................45
Information Collection for Configuration Implementation.......................................................................45
Super BOMs Versus Template BOMs..............................................................................................................46
Using a Super BOM................................................................................................................................47
Using a Template BOM...........................................................................................................................48
Other Implementation Considerations............................................................................................................49
Question & Answer Input Sequence........................................................................................................49
Dynamic Lists and External Lookups........................................................................................................49
Free-Form Fields......................................................................................................................................50
Testing Configuration Input Pages and Defining Rules............................................................................50
Configurator Setup (Single Company Environment)........................................................................................51
Base "Universal" Part / Part Revision..............................................................................................................54
Programs and Their Modifiers.................................................................................................................54
Example..................................................................................................................................................57
Method of Manufacture................................................................................................................................58
Programs and Their Modifiers.................................................................................................................60
Logic/Algorithms.....................................................................................................................................60
Example..................................................................................................................................................61
Assemblies and Subassemblies (Materials)......................................................................................................61

Epicor ERP | 9.05.702 3


Contents Configurator Technical Reference Guide

Programs and Their Modifiers.................................................................................................................62


Example..................................................................................................................................................63
Operations.....................................................................................................................................................63
Programs and Their Modifiers.................................................................................................................64
Part Maintenance...................................................................................................................................64
Example..................................................................................................................................................64
Resources and Resource Groups.....................................................................................................................65
Configurator Designer...................................................................................................................................66
Programs and Their Modifiers.................................................................................................................67
Part/Rev.........................................................................................................................................................68
Programs and Their Modifiers.................................................................................................................69
Logic/Algorithms.....................................................................................................................................69
Example..................................................................................................................................................69
Using Configuration Rules (Single Company)..................................................................................................69
Input and Document Rules......................................................................................................................70
Method Rules.........................................................................................................................................70
Selecting a Configured Part....................................................................................................................71
Input Rules > Page / Design Toolbox...............................................................................................................72
Programs and Their Modifiers.................................................................................................................73
Input Rules > Inputs > Detail..........................................................................................................................74
Programs and Their Modifiers.................................................................................................................75
Global Input Variables....................................................................................................................................88
Programs and Their Modifiers.................................................................................................................90
Logic/Algorithms.....................................................................................................................................91
Examples................................................................................................................................................92
Expression Builder / Context Functions...........................................................................................................93
Configurator Expression Example............................................................................................................95
Additional Context Functions..................................................................................................................97
Use of Rules Types in Rules Processing...........................................................................................................97
Rule Types Selection...............................................................................................................................98
Calculation.............................................................................................................................................99
Set Field................................................................................................................................................100
Program Call.........................................................................................................................................102
Keep When..........................................................................................................................................103
Rule Function........................................................................................................................................104
Input Rules > Inputs > Detail > Dynamic Lists > Detail / Criteria....................................................................108
Programs and Their Modifiers...............................................................................................................109
Logic/Algorithms...................................................................................................................................112
Example(s)............................................................................................................................................112
Input Rules > Inputs > Detail > Prompt When...............................................................................................114
Programs and Their Modifiers...............................................................................................................114
Logic/Algorithms...................................................................................................................................115
Examples..............................................................................................................................................115
Input Rules > Inputs > On Leave...................................................................................................................116
Programs and Their Modifiers...............................................................................................................116

4 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Logic/Algorithms...................................................................................................................................117
Examples..............................................................................................................................................117
Input Rules > Page Detail.............................................................................................................................118
Programs and Their Modifiers...............................................................................................................118
Input Rules > Prompt When.........................................................................................................................120
Programs and Their Modifiers...............................................................................................................121
Input Rules > On Leave................................................................................................................................122
Programs and Their Modifiers...............................................................................................................123
Input Rules > Pricing > Options....................................................................................................................124
Programs and Their Modifiers...............................................................................................................125
Logic/Algorithms...................................................................................................................................126
Input Rules > Pricing > General > Input Pricing > Order / Quote / Purchase / Demand > Detail......................127
Programs and Their Modifiers...............................................................................................................128
Logic/Algorithms...................................................................................................................................129
Input Rules > Part > Creation.......................................................................................................................130
Programs and Their Modifiers...............................................................................................................130
Logic/Algorithms...................................................................................................................................134
Example................................................................................................................................................135
Input Rules > Part > Smart String.................................................................................................................136
Programs and Their Modifiers...............................................................................................................137
Logic/Algorithms...................................................................................................................................139
Example................................................................................................................................................139
Input Rules > Document Rules......................................................................................................................140
Programs and Their Modifiers...............................................................................................................141
Logic/Algorithms...................................................................................................................................142
Example................................................................................................................................................142
Method Rules > Method / Rules...................................................................................................................143
Programs and Their Modifiers...............................................................................................................144
Example................................................................................................................................................147
Status..........................................................................................................................................................148
Programs and Their Modifiers...............................................................................................................148
Logic/Algorithms...................................................................................................................................151
Example................................................................................................................................................152
Regenerate Configurations..........................................................................................................................152
Regenerate Configurations Features.....................................................................................................153
Smart String Configuration Processing.........................................................................................................154
Programs and Their Modifiers...............................................................................................................155
Configuration Listing...................................................................................................................................156
Programs and Their Modifiers...............................................................................................................157
Logic/Algorithms...................................................................................................................................158
Import / Export Configuration......................................................................................................................158
Exporting Configurations......................................................................................................................159
Programs and Their Modifiers........................................................................................................159
Logic and Algorithms.....................................................................................................................161
Importing Configurations......................................................................................................................162

Epicor ERP | 9.05.702 5


Contents Configurator Technical Reference Guide

Programs and Their Modifiers........................................................................................................162


Verify Existing Configuration........................................................................................................................164
Programs and Their Modifiers...............................................................................................................165
Logic/Algorithms...................................................................................................................................166
Multi-Company Configurator - Setup and Operation....................................................................................166
Other Prerequisites...............................................................................................................................166
Multi-Company Configuration Processing.............................................................................................166
Input Rules > Pricing > Options......................................................................................................168
Programs and Their Modifiers.................................................................................................169
Input Rules > Pricing > General > Detail (Multi-Company)..............................................................170
Programs and Their Modifiers.................................................................................................170
Structure Rules > Definition / Rules (Multi-Company).....................................................................172
Programs and Their Modifiers.................................................................................................173
Creating Subconfigurator Part Swaps in a Multi-Company Configurator Environment.............175
Enterprise Configurator Server Process / Enterprise Configurator Direct Server Process...................176
Programs and Their Modifiers.................................................................................................177
Creating Subconfigurator Part Swaps in a Multi-Company Configurator Environment....................179
Modifiers.............................................................................................................................181
Allow Reconfiguration in PO........................................................................................................................181
Where Located.....................................................................................................................................181
All Values.....................................................................................................................................................182
Where Located.....................................................................................................................................182
Example................................................................................................................................................182
Approved / Not Approved............................................................................................................................182
Where Located.....................................................................................................................................183
Logic/Algorithms...................................................................................................................................183
Automatically create a new part number......................................................................................................184
Where Located.....................................................................................................................................184
Logic/Algorithms...................................................................................................................................184
Automatically Mark Methods Global............................................................................................................185
Where Located.....................................................................................................................................185
Available Methods.......................................................................................................................................185
Where Located.....................................................................................................................................186
Logic/Algorithms...................................................................................................................................186
Available Styles............................................................................................................................................186
Where Located.....................................................................................................................................187
Logic/Algorithms...................................................................................................................................187
Available Inputs/Selected Inputs...................................................................................................................187
Where Located.....................................................................................................................................188
Logic/Algorithms...................................................................................................................................188
Example................................................................................................................................................188
Buttons........................................................................................................................................................188
Where Located.....................................................................................................................................189
Example................................................................................................................................................189
Character Value / Date Value / Decimal Value / Logical Value.......................................................................189

6 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Where Located.....................................................................................................................................189
Logic/Algorithms...................................................................................................................................190
Example................................................................................................................................................190
ColumnName / Condition / Value.................................................................................................................190
Where Located.....................................................................................................................................190
Condition....................................................................................................................................................191
Where Located.....................................................................................................................................191
Logic/Algorithms...................................................................................................................................191
Example................................................................................................................................................191
Create Alternative Methods.........................................................................................................................192
Where Located.....................................................................................................................................192
Create a new part number at zero cost........................................................................................................192
Where Located.....................................................................................................................................192
Logic/Algorithms...................................................................................................................................193
Example................................................................................................................................................193
Create a new part number for each configuration........................................................................................193
Where Located.....................................................................................................................................193
Logic/Algorithms...................................................................................................................................193
Create a new part number in.......................................................................................................................194
Where Located.....................................................................................................................................194
Logic/Algorithms...................................................................................................................................194
Customer Part Number................................................................................................................................195
Where Located.....................................................................................................................................195
Logic/Algorithms...................................................................................................................................195
Create Revision............................................................................................................................................195
Where Located.....................................................................................................................................196
Default ECO Group......................................................................................................................................196
Where Located.....................................................................................................................................196
Demand Entry..............................................................................................................................................197
Where Located.....................................................................................................................................197
Digit Structure.............................................................................................................................................197
Where Located.....................................................................................................................................197
Example................................................................................................................................................198
Do not notify the user if new part number already exists..............................................................................198
Where Located.....................................................................................................................................198
Example................................................................................................................................................198
Do not process On Leave expressions when page loads................................................................................199
Where Located.....................................................................................................................................199
Example................................................................................................................................................199
Don't Display Input in Configuration Summary Grid.....................................................................................199
Where Located.....................................................................................................................................200
End Position.................................................................................................................................................200
Where Located.....................................................................................................................................200
Enterprise Configurator................................................................................................................................201
Where Located.....................................................................................................................................201

Epicor ERP | 9.05.702 7


Contents Configurator Technical Reference Guide

Logic/Algorithms...................................................................................................................................201
Format (Character).......................................................................................................................................201
Where Located.....................................................................................................................................202
Example................................................................................................................................................202
Format (Date)...............................................................................................................................................202
Where Located.....................................................................................................................................203
Example................................................................................................................................................203
Format (Decimal)..........................................................................................................................................203
Generate Method........................................................................................................................................203
Where Located.....................................................................................................................................204
Generate Methods Using Resulting Quote Method......................................................................................204
Where Located.....................................................................................................................................204
Global..........................................................................................................................................................205
Where Located.....................................................................................................................................205
Example................................................................................................................................................205
Global Input Variable...................................................................................................................................206
Where Located.....................................................................................................................................206
Logic/Algorithms...................................................................................................................................207
Global Variable Name..................................................................................................................................207
Where Located.....................................................................................................................................207
Input Name..................................................................................................................................................208
Where Located.....................................................................................................................................208
Initial Value..................................................................................................................................................208
Where Located.....................................................................................................................................209
Input Name (Global Input Variables).............................................................................................................209
Where Located.....................................................................................................................................209
Invisible........................................................................................................................................................210
Where Located.....................................................................................................................................210
Invoice Comments.......................................................................................................................................210
Where Located.....................................................................................................................................210
Logic/Algorithms...................................................................................................................................211
Job Entry......................................................................................................................................................211
Where Located.....................................................................................................................................211
Logic/Algorithms...................................................................................................................................211
Job/Pick List Comments................................................................................................................................212
Where Located.....................................................................................................................................212
Logic/Algorithms...................................................................................................................................212
List Items (Inputs > Detail)............................................................................................................................212
Where Located.....................................................................................................................................213
List Items (Inputs - Detail - Dynamic Lists).....................................................................................................213
Where Located.....................................................................................................................................213
Minimum, Maximum (Date).........................................................................................................................214
Where Located.....................................................................................................................................214
Minimum, Maximum, Increment (Decimal)...................................................................................................214
Where Located.....................................................................................................................................215

8 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Multiplier.....................................................................................................................................................215
Where Located.....................................................................................................................................215
Logic/Algorithms...................................................................................................................................216
Negatives.....................................................................................................................................................216
Where Located.....................................................................................................................................216
Example................................................................................................................................................216
Number of Decimals....................................................................................................................................217
Where Located.....................................................................................................................................217
Logic/Algorithms...................................................................................................................................217
Example................................................................................................................................................217
Number of Digits.........................................................................................................................................218
Where Located.....................................................................................................................................218
Logic/Algorithms...................................................................................................................................218
Example................................................................................................................................................218
Only process dynamic lists with higher tab sequences...................................................................................218
Where Located.....................................................................................................................................219
Order Entry..................................................................................................................................................219
Where Located.....................................................................................................................................219
Logic/Algorithms...................................................................................................................................219
Order/Quote Comments..............................................................................................................................220
Where Located.....................................................................................................................................220
Logic/Algorithms...................................................................................................................................220
Packing Slip Comments................................................................................................................................220
Where Located.....................................................................................................................................220
Logic/Algorithms...................................................................................................................................221
Page............................................................................................................................................................221
Where Located.....................................................................................................................................221
Page Sequence............................................................................................................................................222
Where Located.....................................................................................................................................222
Page Title.....................................................................................................................................................222
Where Located.....................................................................................................................................222
Logic/Algorithms...................................................................................................................................223
Part Description...........................................................................................................................................223
Where Located.....................................................................................................................................223
Position and Sizing Fields (X, Y, Width and Height).......................................................................................223
Where Located.....................................................................................................................................224
Preface w/ Part Number...............................................................................................................................224
Where Located.....................................................................................................................................224
Price For Value.............................................................................................................................................224
Where Located.....................................................................................................................................225
Process dynamic lists before On Leave expressions for this page...................................................................225
Where Located.....................................................................................................................................225
Process Input On Leave expressions if page is skipped..................................................................................225
Where Located.....................................................................................................................................226
Prompt For Checkout...................................................................................................................................226

Epicor ERP | 9.05.702 9


Contents Configurator Technical Reference Guide

Where Located.....................................................................................................................................226
Prompt For Configuration............................................................................................................................227
Where Located.....................................................................................................................................227
Quote Entry.................................................................................................................................................228
Where Located.....................................................................................................................................228
Logic/Algorithms...................................................................................................................................228
Remove Link From Base Configured Part......................................................................................................228
Where Located.....................................................................................................................................229
Run BAQ / BAQ / Display Value / Input Value................................................................................................229
Where Located.....................................................................................................................................229
Run Program / Program Name / Program Inputs...........................................................................................230
Where Located.....................................................................................................................................231
Logic/Algorithms...................................................................................................................................231
Example................................................................................................................................................231
Save Input Values.........................................................................................................................................232
Where Located.....................................................................................................................................233
Separator Character.....................................................................................................................................233
Where Located.....................................................................................................................................233
Example................................................................................................................................................234
Set Part Number Only..................................................................................................................................234
Where Located.....................................................................................................................................234
Logic/Algorithms...................................................................................................................................234
Show Distinct Items.....................................................................................................................................234
Logic/Algorithms...................................................................................................................................235
Where Located.....................................................................................................................................236
Single Level Configuration...........................................................................................................................236
Where Located.....................................................................................................................................236
Logic/Algorithms...................................................................................................................................237
Example................................................................................................................................................237
Skip page if all inputs are disabled or invisible..............................................................................................237
Where Located.....................................................................................................................................237
Smart String Configuration..........................................................................................................................238
Where Located.....................................................................................................................................238
Starting Sequence........................................................................................................................................239
Where Located.....................................................................................................................................239
Start Position...............................................................................................................................................239
Where Located.....................................................................................................................................239
Synchronize.................................................................................................................................................240
Where Located.....................................................................................................................................240
Synchronize Revision Approval.....................................................................................................................240
Where Located.....................................................................................................................................241
Tab Order....................................................................................................................................................241
Where Located.....................................................................................................................................241
Thousands Separator...................................................................................................................................242
Where Located.....................................................................................................................................242

10 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Type (Global Input Variables)........................................................................................................................242


Where Located.....................................................................................................................................242
Type (Part)...................................................................................................................................................243
Where Located.....................................................................................................................................243
Logic/Algorithms...................................................................................................................................243
Update Saved Input Values and Set Fields in Part Table.................................................................................243
Where Located.....................................................................................................................................244
Example................................................................................................................................................244
Use Component Pricing...............................................................................................................................244
Where Located.....................................................................................................................................245
Logic/Algorithms...................................................................................................................................245
Use Generated Method When Getting Details..............................................................................................246
Where Located.....................................................................................................................................246
Valid List......................................................................................................................................................246
Where Located.....................................................................................................................................247
Value...........................................................................................................................................................247
Where Located.....................................................................................................................................247
Verify Existing Job Configurations................................................................................................................248
Where Located.....................................................................................................................................248
Logic/Algorithms...................................................................................................................................248
Example................................................................................................................................................248
Verify Existing Order Configurations.............................................................................................................249
Where Located.....................................................................................................................................249
Logic/Algorithms...................................................................................................................................249
Example................................................................................................................................................249
Verify Existing Quote Configurations............................................................................................................250
Where Located.....................................................................................................................................250
Logic/Algorithms...................................................................................................................................250
Example................................................................................................................................................250
Web Input Name.........................................................................................................................................251
Where Located.....................................................................................................................................251
Expression Builder Functions.............................................................................................252
Absolute Value............................................................................................................................................252
Where Located.....................................................................................................................................252
Proper Syntax.......................................................................................................................................252
Resulting Data Type..............................................................................................................................252
Logic/Algorithms...................................................................................................................................252
Example................................................................................................................................................252
Add.............................................................................................................................................................253
Where Located.....................................................................................................................................253
Proper Syntax.......................................................................................................................................253
Resulting Data Type..............................................................................................................................253
Logic/Algorithms...................................................................................................................................253
Example................................................................................................................................................253
Add Days to Date Value...............................................................................................................................253

Epicor ERP | 9.05.702 11


Contents Configurator Technical Reference Guide

Where Located.....................................................................................................................................253
Proper Syntax.......................................................................................................................................253
Resulting Data Type..............................................................................................................................254
Logic/Algorithms...................................................................................................................................254
Example................................................................................................................................................254
Begins..........................................................................................................................................................254
Where Located.....................................................................................................................................254
Proper Syntax.......................................................................................................................................254
Resulting Data Type..............................................................................................................................254
Logic/Algorithms...................................................................................................................................254
Example................................................................................................................................................255
Combine Strings..........................................................................................................................................255
Where Located.....................................................................................................................................255
Proper Syntax.......................................................................................................................................255
Resulting Data Type..............................................................................................................................255
Logic/Algorithms...................................................................................................................................255
Example................................................................................................................................................255
Convert Date to String.................................................................................................................................256
Where Located.....................................................................................................................................256
Proper Syntax.......................................................................................................................................256
Resulting Data Type..............................................................................................................................256
Logic/Algorithms...................................................................................................................................256
Example................................................................................................................................................256
Convert Logical to String..............................................................................................................................256
Where Located.....................................................................................................................................256
Proper Syntax.......................................................................................................................................256
Resulting Data Type..............................................................................................................................257
Logic/Algorithms...................................................................................................................................257
Example................................................................................................................................................257
Convert Number to String............................................................................................................................257
Where Located.....................................................................................................................................257
Proper Syntax.......................................................................................................................................257
Resulting Data Type..............................................................................................................................257
Logic/Algorithms...................................................................................................................................257
Example................................................................................................................................................258
Convert String to Decimal............................................................................................................................258
Where Located.....................................................................................................................................258
Proper Syntax.......................................................................................................................................258
Resulting Data Type..............................................................................................................................258
Logic/Algorithms...................................................................................................................................258
Example................................................................................................................................................258
Convert String to Integer.............................................................................................................................259
Where Located.....................................................................................................................................259
Proper Syntax.......................................................................................................................................259
Resulting Data Type..............................................................................................................................259

12 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Logic/Algorithms...................................................................................................................................259
Example................................................................................................................................................259
Cosecant.....................................................................................................................................................260
Where Located.....................................................................................................................................260
Proper Syntax.......................................................................................................................................260
Resulting Data Type..............................................................................................................................260
Logic/Algorithms...................................................................................................................................260
Example................................................................................................................................................260
Cosine.........................................................................................................................................................260
Where Located.....................................................................................................................................260
Proper Syntax.......................................................................................................................................260
Resulting Data Type..............................................................................................................................261
Logic/Algorithms...................................................................................................................................261
Example................................................................................................................................................261
Cotangent...................................................................................................................................................261
Where Located.....................................................................................................................................261
Proper Syntax.......................................................................................................................................261
Resulting Data Type..............................................................................................................................261
Logic/Algorithms...................................................................................................................................261
Example................................................................................................................................................261
Cube Root...................................................................................................................................................262
Where Located.....................................................................................................................................262
Proper Syntax.......................................................................................................................................262
Resulting Data Type..............................................................................................................................262
Logic/Algorithms...................................................................................................................................262
Example................................................................................................................................................262
Current Date................................................................................................................................................263
Where Located.....................................................................................................................................263
Proper Syntax.......................................................................................................................................263
Resulting Data Type..............................................................................................................................263
Logic/Algorithms...................................................................................................................................263
Example................................................................................................................................................263
Current Time...............................................................................................................................................263
Where Located.....................................................................................................................................263
Proper Syntax.......................................................................................................................................263
Resulting Data Type..............................................................................................................................264
Logic/Algorithms...................................................................................................................................264
Example................................................................................................................................................264
Date Constant/Field/Input/Calculation..........................................................................................................264
Where Located.....................................................................................................................................264
Proper Syntax.......................................................................................................................................264
Resulting Data Type..............................................................................................................................264
Examples..............................................................................................................................................265
Dates Equal..................................................................................................................................................265
Where Located.....................................................................................................................................265

Epicor ERP | 9.05.702 13


Contents Configurator Technical Reference Guide

Proper Syntax.......................................................................................................................................265
Resulting Data Type..............................................................................................................................265
Logic/Algorithms...................................................................................................................................265
Example................................................................................................................................................266
Dates Greater or Equal.................................................................................................................................266
Where Located.....................................................................................................................................266
Proper Syntax.......................................................................................................................................266
Resulting Data Type..............................................................................................................................266
Logic/Algorithms...................................................................................................................................266
Example................................................................................................................................................266
Dates Greater Than......................................................................................................................................267
Where Located.....................................................................................................................................267
Proper Syntax.......................................................................................................................................267
Resulting Data Type..............................................................................................................................267
Logic/Algorithms...................................................................................................................................267
Example................................................................................................................................................267
Dates Less or Equal......................................................................................................................................267
Where Located.....................................................................................................................................267
Proper Syntax.......................................................................................................................................267
Resulting Data Type..............................................................................................................................268
Logic/Algorithms...................................................................................................................................268
Example................................................................................................................................................268
Dates Less Than...........................................................................................................................................268
Where Located.....................................................................................................................................268
Proper Syntax.......................................................................................................................................268
Resulting Data Type..............................................................................................................................268
Logic/Algorithms...................................................................................................................................268
Example................................................................................................................................................269
Dates Not Equal...........................................................................................................................................269
Where Located.....................................................................................................................................269
Proper Syntax.......................................................................................................................................269
Resulting Data Type..............................................................................................................................269
Logic/Algorithms...................................................................................................................................269
Example................................................................................................................................................269
Day of Month..............................................................................................................................................270
Where Located.....................................................................................................................................270
Proper Syntax.......................................................................................................................................270
Resulting Data Type..............................................................................................................................270
Logic/Algorithms...................................................................................................................................270
Example................................................................................................................................................270
Day of Week................................................................................................................................................270
Where Located.....................................................................................................................................270
Proper Syntax.......................................................................................................................................270
Resulting Data Type..............................................................................................................................271
Logic/Algorithms...................................................................................................................................271

14 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Example................................................................................................................................................271
Difference between Two Dates....................................................................................................................271
Where Located.....................................................................................................................................271
Proper Syntax.......................................................................................................................................271
Resulting Data Type..............................................................................................................................271
Logic/Algorithms...................................................................................................................................271
Example................................................................................................................................................272
Display as Time............................................................................................................................................272
Where Located.....................................................................................................................................272
Proper Syntax.......................................................................................................................................272
Resulting Data Type..............................................................................................................................272
Logic/Algorithms...................................................................................................................................272
Example................................................................................................................................................272
Divide..........................................................................................................................................................273
Where Located.....................................................................................................................................273
Proper Syntax.......................................................................................................................................273
Resulting Data Type..............................................................................................................................273
Logic/Algorithms...................................................................................................................................273
Example................................................................................................................................................273
Earlier of Two Dates.....................................................................................................................................273
Where Located.....................................................................................................................................274
Proper Syntax.......................................................................................................................................274
Resulting Data Type..............................................................................................................................274
Logic/Algorithms...................................................................................................................................274
Example................................................................................................................................................274
ExcelLookup.................................................................................................................................................274
Where Located.....................................................................................................................................274
Proper Syntax.......................................................................................................................................274
Resulting Data Type..............................................................................................................................275
Example................................................................................................................................................275
Factorial.......................................................................................................................................................276
Where Located.....................................................................................................................................276
Proper Syntax.......................................................................................................................................276
Resulting Data Type..............................................................................................................................276
Logic/Algorithms...................................................................................................................................276
Example................................................................................................................................................276
FieldHeight..................................................................................................................................................276
Where Located.....................................................................................................................................276
Proper Syntax.......................................................................................................................................276
Example................................................................................................................................................277
FieldIncrement.............................................................................................................................................277
Where Located.....................................................................................................................................277
Proper Syntax.......................................................................................................................................277
Example................................................................................................................................................277
FieldInitialValue............................................................................................................................................277

Epicor ERP | 9.05.702 15


Contents Configurator Technical Reference Guide

Where Located.....................................................................................................................................277
Proper Syntax.......................................................................................................................................277
Example................................................................................................................................................278
FieldInvisible.................................................................................................................................................278
Where Located.....................................................................................................................................278
Proper Syntax.......................................................................................................................................278
Example................................................................................................................................................278
FieldLabel.....................................................................................................................................................278
Where Located.....................................................................................................................................278
Proper Syntax.......................................................................................................................................278
Example................................................................................................................................................279
FieldMaximumDate......................................................................................................................................279
Where Located.....................................................................................................................................279
Proper Syntax.......................................................................................................................................279
Example................................................................................................................................................279
FieldMinimumDate.......................................................................................................................................279
Where Located.....................................................................................................................................279
Proper Syntax.......................................................................................................................................279
Example................................................................................................................................................280
FieldMaximumDecimal.................................................................................................................................280
Where Located.....................................................................................................................................280
Proper Syntax.......................................................................................................................................280
Example................................................................................................................................................280
FieldMinimumDecimal..................................................................................................................................280
Where Located.....................................................................................................................................280
Proper Syntax.......................................................................................................................................280
Example................................................................................................................................................281
FieldRequired...............................................................................................................................................281
Where Located.....................................................................................................................................281
Proper Syntax.......................................................................................................................................281
Example................................................................................................................................................281
FieldSummaryLabel......................................................................................................................................281
Where Located.....................................................................................................................................281
Proper Syntax.......................................................................................................................................281
Example................................................................................................................................................282
FieldToolTip.................................................................................................................................................282
Where Located.....................................................................................................................................282
Proper Syntax.......................................................................................................................................282
Example................................................................................................................................................282
FieldValidList................................................................................................................................................282
Where Located.....................................................................................................................................282
Proper Syntax.......................................................................................................................................282
Example................................................................................................................................................283
FieldWidth...................................................................................................................................................283
Where Located.....................................................................................................................................283

16 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Proper Syntax.......................................................................................................................................283
Example................................................................................................................................................283
FieldXPosition..............................................................................................................................................284
Where Located.....................................................................................................................................284
Proper Syntax.......................................................................................................................................284
Example................................................................................................................................................284
FieldYPosition..............................................................................................................................................284
Where Located.....................................................................................................................................284
Proper Syntax.......................................................................................................................................284
Example................................................................................................................................................284
Greater of Two Numbers.............................................................................................................................285
Where Located.....................................................................................................................................285
Proper Syntax.......................................................................................................................................285
Resulting Data Type..............................................................................................................................285
Logic/Algorithms...................................................................................................................................285
Example................................................................................................................................................285
Greater of Two Strings.................................................................................................................................286
Where Located.....................................................................................................................................286
Proper Syntax.......................................................................................................................................286
Resulting Data Type..............................................................................................................................286
Logic/Algorithms...................................................................................................................................286
Example................................................................................................................................................286
If first expression is true return second else third date...................................................................................287
Where Located.....................................................................................................................................287
Proper Syntax.......................................................................................................................................287
Resulting Data Type..............................................................................................................................287
Logic/Algorithms...................................................................................................................................287
Example................................................................................................................................................287
If first expression is true return second else third number.............................................................................288
Where Located.....................................................................................................................................288
Proper Syntax.......................................................................................................................................288
Resulting Data Type..............................................................................................................................288
Logic/Algorithms...................................................................................................................................288
Example................................................................................................................................................288
If first expression is true return second else third string.................................................................................289
Where Located.....................................................................................................................................289
Proper Syntax.......................................................................................................................................289
Resulting Data Type..............................................................................................................................289
Logic/Algorithms...................................................................................................................................289
Example................................................................................................................................................289
Later of Two Dates.......................................................................................................................................289
Where Located.....................................................................................................................................290
Proper Syntax.......................................................................................................................................290
Resulting Data Type..............................................................................................................................290
Logic/Algorithms...................................................................................................................................290

Epicor ERP | 9.05.702 17


Contents Configurator Technical Reference Guide

Example................................................................................................................................................290
Least Common Multiple...............................................................................................................................290
Where Located.....................................................................................................................................290
Proper Syntax.......................................................................................................................................290
Resulting Data Type..............................................................................................................................290
Logic/Algorithms...................................................................................................................................291
Example................................................................................................................................................291
Length of String...........................................................................................................................................291
Where Located.....................................................................................................................................291
Proper Syntax.......................................................................................................................................291
Resulting Data Type..............................................................................................................................291
Logic/Algorithms...................................................................................................................................291
Example................................................................................................................................................291
Lesser of Two Strings...................................................................................................................................292
Where Located.....................................................................................................................................292
Proper Syntax.......................................................................................................................................292
Resulting Data Type..............................................................................................................................292
Logic/Algorithms...................................................................................................................................292
Example................................................................................................................................................292
Log Base e...................................................................................................................................................292
Where Located.....................................................................................................................................292
Proper Syntax.......................................................................................................................................292
Resulting Data Type..............................................................................................................................293
Logic/Algorithms...................................................................................................................................293
Example................................................................................................................................................293
Log Base n...................................................................................................................................................293
Where Located.....................................................................................................................................293
Proper Syntax.......................................................................................................................................293
Resulting Data Type..............................................................................................................................293
Logic/Algorithms...................................................................................................................................293
Example................................................................................................................................................294
Logical AND.................................................................................................................................................294
Where Located.....................................................................................................................................294
Proper Syntax.......................................................................................................................................294
Resulting Data Type..............................................................................................................................294
Logic/Algorithms...................................................................................................................................294
Example................................................................................................................................................294
Logical Constant/Field/Input/Calculation.......................................................................................................295
Where Located.....................................................................................................................................295
Proper Syntax.......................................................................................................................................295
Resulting Data Type..............................................................................................................................295
Examples..............................................................................................................................................295
Logical expression........................................................................................................................................296
Where Located.....................................................................................................................................296
Proper Syntax.......................................................................................................................................296

18 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Resulting Data Type..............................................................................................................................296


Logic/Algorithms...................................................................................................................................296
Example................................................................................................................................................296
Logical OR...................................................................................................................................................296
Where Located.....................................................................................................................................296
Proper Syntax.......................................................................................................................................296
Resulting Data Type..............................................................................................................................297
Logic/Algorithms...................................................................................................................................297
Example................................................................................................................................................297
Matches.......................................................................................................................................................297
Where Located.....................................................................................................................................297
Proper Syntax.......................................................................................................................................297
Resulting Data Type..............................................................................................................................298
Logic/Algorithms...................................................................................................................................298
Example................................................................................................................................................298
Month of Year.............................................................................................................................................298
Where Located.....................................................................................................................................298
Proper Syntax.......................................................................................................................................298
Resulting Data Type..............................................................................................................................298
Logic/Algorithms...................................................................................................................................298
Example................................................................................................................................................299
Multiply.......................................................................................................................................................299
Where Located.....................................................................................................................................299
Proper Syntax.......................................................................................................................................299
Resulting Data Type..............................................................................................................................299
Logic/Algorithms...................................................................................................................................299
Example................................................................................................................................................299
Negate logical expression (NOT)...................................................................................................................300
Where Located.....................................................................................................................................300
Proper Syntax.......................................................................................................................................300
Resulting Data Type..............................................................................................................................300
Logic/Algorithms...................................................................................................................................300
Example................................................................................................................................................300
Numbers Equal............................................................................................................................................301
Where Located.....................................................................................................................................301
Proper Syntax.......................................................................................................................................301
Resulting Data Type..............................................................................................................................301
Logic/Algorithms...................................................................................................................................301
Example................................................................................................................................................301
Numbers Greater or Equal............................................................................................................................302
Where Located.....................................................................................................................................302
Proper Syntax.......................................................................................................................................302
Resulting Data Type..............................................................................................................................302
Logic/Algorithms...................................................................................................................................302
Example................................................................................................................................................302

Epicor ERP | 9.05.702 19


Contents Configurator Technical Reference Guide

Numbers Greater Than.................................................................................................................................303


Where Located.....................................................................................................................................303
Proper Syntax.......................................................................................................................................303
Resulting Data Type..............................................................................................................................303
Logic/Algorithms...................................................................................................................................303
Example................................................................................................................................................303
Numbers Less or Equal.................................................................................................................................304
Where Located.....................................................................................................................................304
Proper Syntax.......................................................................................................................................304
Resulting Data Type..............................................................................................................................304
Logic/Algorithms...................................................................................................................................304
Example................................................................................................................................................304
Numbers Less Than......................................................................................................................................305
Where Located.....................................................................................................................................305
Proper Syntax.......................................................................................................................................305
Resulting Data Type..............................................................................................................................305
Logic/Algorithms...................................................................................................................................305
Example................................................................................................................................................305
Numbers Not Equal......................................................................................................................................306
Where Located.....................................................................................................................................306
Proper Syntax.......................................................................................................................................306
Resulting Data Type..............................................................................................................................306
Logic/Algorithms...................................................................................................................................306
Example................................................................................................................................................306
Numeric Constant/Field/Input/Calculation.....................................................................................................306
Where Located.....................................................................................................................................307
Proper Syntax.......................................................................................................................................307
Resulting Data Type..............................................................................................................................307
Examples..............................................................................................................................................307
Raise to a Power..........................................................................................................................................308
Where Located.....................................................................................................................................308
Proper Syntax.......................................................................................................................................308
Resulting Data Type..............................................................................................................................308
Logic/Algorithms...................................................................................................................................308
Example................................................................................................................................................308
Random.......................................................................................................................................................308
Where Located.....................................................................................................................................308
Proper Syntax.......................................................................................................................................308
Resulting Data Type..............................................................................................................................309
Logic/Algorithms...................................................................................................................................309
Example................................................................................................................................................309
Remainder...................................................................................................................................................309
Where Located.....................................................................................................................................309
Proper Syntax.......................................................................................................................................309
Resulting Data Type..............................................................................................................................309

20 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Logic/Algorithms...................................................................................................................................309
Example................................................................................................................................................310
Round..........................................................................................................................................................310
Where Located.....................................................................................................................................310
Proper Syntax.......................................................................................................................................310
Resulting Data Type..............................................................................................................................310
Logic/Algorithms...................................................................................................................................310
Example................................................................................................................................................310
Secant.........................................................................................................................................................311
Where Located.....................................................................................................................................311
Proper Syntax.......................................................................................................................................311
Resulting Data Type..............................................................................................................................311
Logic/Algorithms...................................................................................................................................311
Example................................................................................................................................................311
Set Next Input Page.....................................................................................................................................311
Where Located.....................................................................................................................................312
Proper Syntax.......................................................................................................................................312
Resulting Data Type..............................................................................................................................312
Logic/Algorithms...................................................................................................................................312
Example................................................................................................................................................312
Set Part Number..........................................................................................................................................312
Set Previous Input Page................................................................................................................................313
Where Located.....................................................................................................................................314
Proper Syntax.......................................................................................................................................314
Resulting Data Type..............................................................................................................................314
Logic/Algorithms...................................................................................................................................314
Example................................................................................................................................................314
Sine.............................................................................................................................................................314
Where Located.....................................................................................................................................314
Proper Syntax.......................................................................................................................................314
Resulting Data Type..............................................................................................................................314
Logic/Algorithms...................................................................................................................................315
Example................................................................................................................................................315
Smaller of Two Numbers..............................................................................................................................315
Where Located.....................................................................................................................................315
Proper Syntax.......................................................................................................................................315
Resulting Data Type..............................................................................................................................315
Logic/Algorithms...................................................................................................................................315
Example................................................................................................................................................315
Square Root.................................................................................................................................................316
Where Located.....................................................................................................................................316
Proper Syntax.......................................................................................................................................316
Resulting Data Type..............................................................................................................................316
Logic/Algorithms...................................................................................................................................316
Example................................................................................................................................................316

Epicor ERP | 9.05.702 21


Contents Configurator Technical Reference Guide

String Constant/Field/Input/Calculation........................................................................................................316
Where Located.....................................................................................................................................317
Proper Syntax.......................................................................................................................................317
Resulting Data Type..............................................................................................................................317
Examples..............................................................................................................................................317
Strings Equal................................................................................................................................................317
Where Located.....................................................................................................................................317
Proper Syntax.......................................................................................................................................317
Resulting Data Type..............................................................................................................................318
Logic/Algorithms...................................................................................................................................318
Example................................................................................................................................................318
Strings Greater or Equal...............................................................................................................................318
Where Located.....................................................................................................................................318
Proper Syntax.......................................................................................................................................318
Resulting Data Type..............................................................................................................................318
Logic/Algorithms...................................................................................................................................318
Example................................................................................................................................................319
Strings Greater Than....................................................................................................................................319
Where Located.....................................................................................................................................319
Proper Syntax.......................................................................................................................................319
Resulting Data Type..............................................................................................................................319
Logic/Algorithms...................................................................................................................................319
Example................................................................................................................................................319
Strings Less or Equal....................................................................................................................................320
Where Located.....................................................................................................................................320
Proper Syntax.......................................................................................................................................320
Resulting Data Type..............................................................................................................................320
Logic/Algorithms...................................................................................................................................320
Example................................................................................................................................................320
Strings Less Than.........................................................................................................................................321
Where Located.....................................................................................................................................321
Proper Syntax.......................................................................................................................................321
Resulting Data Type..............................................................................................................................321
Logic/Algorithms...................................................................................................................................321
Example................................................................................................................................................321
Strings Not Equal.........................................................................................................................................322
Where Located.....................................................................................................................................322
Proper Syntax.......................................................................................................................................322
Resulting Data Type..............................................................................................................................322
Logic/Algorithms...................................................................................................................................322
Example................................................................................................................................................322
Substring.....................................................................................................................................................323
Where Located.....................................................................................................................................323
Proper Syntax.......................................................................................................................................323
Resulting Data Type..............................................................................................................................323

22 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Logic/Algorithms...................................................................................................................................323
Example................................................................................................................................................323
Subtract.......................................................................................................................................................323
Where Located.....................................................................................................................................324
Proper Syntax.......................................................................................................................................324
Resulting Data Type..............................................................................................................................324
Logic/Algorithms...................................................................................................................................324
Example................................................................................................................................................324
Subtract Days from Date Value....................................................................................................................324
Where Located.....................................................................................................................................324
Proper Syntax.......................................................................................................................................324
Resulting Data Type..............................................................................................................................325
Logic/Algorithms...................................................................................................................................325
Example................................................................................................................................................325
Tangent.......................................................................................................................................................325
Where Located.....................................................................................................................................325
Proper Syntax.......................................................................................................................................325
Resulting Data Type..............................................................................................................................325
Logic/Algorithms...................................................................................................................................325
Example................................................................................................................................................325
Truncate......................................................................................................................................................326
Where Located.....................................................................................................................................326
Proper Syntax.......................................................................................................................................326
Resulting Data Type..............................................................................................................................326
Logic/Algorithms...................................................................................................................................326
Example................................................................................................................................................326
Year Value...................................................................................................................................................327
Where Located.....................................................................................................................................327
Proper Syntax.......................................................................................................................................327
Resulting Data Type..............................................................................................................................327
Logic/Algorithms...................................................................................................................................327
Example................................................................................................................................................327
Context Functions...............................................................................................................328
Current Configuration Mode.......................................................................................................................328
Where Located.....................................................................................................................................328
Proper Syntax.......................................................................................................................................328
Resulting Data Type..............................................................................................................................329
Logic/Algorithms...................................................................................................................................329
Example................................................................................................................................................329
Current Company........................................................................................................................................329
Where Located.....................................................................................................................................329
Proper Syntax.......................................................................................................................................329
Resulting Data Type..............................................................................................................................329
Logic/Algorithms...................................................................................................................................329
Example................................................................................................................................................329

Epicor ERP | 9.05.702 23


Contents Configurator Technical Reference Guide

Current Job Number....................................................................................................................................330


Where Located.....................................................................................................................................330
Proper Syntax.......................................................................................................................................330
Resulting Data Type..............................................................................................................................330
Logic/Algorithms...................................................................................................................................330
Example................................................................................................................................................330
Current Order Number.................................................................................................................................331
Where Located.....................................................................................................................................331
Proper Syntax.......................................................................................................................................331
Resulting Data Type..............................................................................................................................331
Logic/Algorithms...................................................................................................................................331
Example................................................................................................................................................331
Current Order Line.......................................................................................................................................332
Where Located.....................................................................................................................................332
Proper Syntax.......................................................................................................................................332
Resulting Data Type..............................................................................................................................332
Logic/Algorithms...................................................................................................................................332
Example................................................................................................................................................332
Current Plant...............................................................................................................................................333
Where Located.....................................................................................................................................333
Proper Syntax.......................................................................................................................................333
Resulting Data Type..............................................................................................................................333
Logic/Algorithms...................................................................................................................................333
Example................................................................................................................................................333
Current Quote Number................................................................................................................................334
Where Located.....................................................................................................................................334
Proper Syntax.......................................................................................................................................334
Resulting Data Type..............................................................................................................................334
Logic/Algorithms...................................................................................................................................334
Example................................................................................................................................................334
Current Quote Line......................................................................................................................................335
Where Located.....................................................................................................................................335
Proper Syntax.......................................................................................................................................335
Resulting Data Type..............................................................................................................................335
Logic/Algorithms...................................................................................................................................335
Example................................................................................................................................................335
Current Assembly Sequence.........................................................................................................................336
Where Located.....................................................................................................................................336
Proper Syntax.......................................................................................................................................336
Resulting Data Type..............................................................................................................................336
Logic/Algorithms...................................................................................................................................336
Example................................................................................................................................................336
Current Material Sequence..........................................................................................................................336
Where Located.....................................................................................................................................336
Proper Syntax.......................................................................................................................................336

24 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Contents

Resulting Data Type..............................................................................................................................337


Logic/Algorithms...................................................................................................................................337
Example................................................................................................................................................337
Current Operation Detail Sequence..............................................................................................................337
Where Located.....................................................................................................................................337
Proper Syntax.......................................................................................................................................337
Resulting Data Type..............................................................................................................................337
Logic/Algorithms...................................................................................................................................337
Example(s)............................................................................................................................................337
Current Operation Sequence........................................................................................................................338
Where Located.....................................................................................................................................338
Proper Syntax.......................................................................................................................................338
Resulting Data Type..............................................................................................................................338
Logic/Algorithms...................................................................................................................................338
Example(s)............................................................................................................................................338
Current User ID............................................................................................................................................338
Where Located.....................................................................................................................................338
Proper Syntax.......................................................................................................................................338
Logic/Algorithms...................................................................................................................................339
Example(s)............................................................................................................................................339
Configurator in Action.......................................................................................................340
Wavy Rider Products....................................................................................................................................340
Wavy Rider Configurator Q&A Input Page.............................................................................................341
Creating an Options Planning Spreadsheet...........................................................................................342
Creating the Base "Universal" Part and Part Revision............................................................................342
Creating the Configuration Q&A Input Page.........................................................................................343
Creating a No Input Configurator................................................................................................................371
Defining a No Input Configuration........................................................................................................372
Appendix: Epicor-Supplied Programs................................................................................378

Epicor ERP | 9.05.702 25


Introduction Configurator Technical Reference Guide

Introduction

Purpose of this Guide

The Configurator Technical Reference Guide examines, in detail, the primary components that make up the
Configurator, the base calculations used when defining configured items, and the modifiers used to refine the
suggestion results. Many of the primary components discussed in this guide perform more functions than what
is described.
For more information about these features, review the related topics in the online Help System, contact your
consultant, or enroll in an appropriate Epicor course.
When you finish reading this guide, you will understand the logic behind the Configurator. This information will
help you when you design configuration processes for Make-to-Order (MTO) products. You will be able to set
up configurations to best create accurate Methods of Manufacture (that specify the exact material content and
manufacturing sequences) when these items are ordered, quoted or manufactured.

Intended Audience

This guide is intended for individuals within your company responsible or partially responsible for configuring
and designing products.
Individuals who have this responsibility:
• Are involved with some aspect of Product Design or Engineering.
• Assist in configuring highly engineered products with complex requirements and a myriad of material and
manufacturing options.
• Design and modify the manufacturing processes required to build configured products.
• Uses Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry to quote, order
or purchase materials or start the manufacturing of configured items.
• Note Individuals who perform all or some of these tasks will benefit from reviewing the Configurator
Technical Reference Guide. To review demand order processing, refer to the EDI / Demand
Management Technical Reference Guide.

How it is Organized

This guide first explores the concepts behind the Configurator and then details the items that affect the outcome
of the configured product. Each subsequent section explores more detailed information than the previous section.
The following are the main sections of this guide:

1. Configurator Concepts and Base Components - This section explores the underlying concepts behind
the Configurator. We recommend that you read this section first, as the rest of the guide references the

26 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Introduction

information contained in this section. It also documents the main records used by the Configurator, such
as the Configurator Designer, rules, part creation and expression functions.

2. Implementation Calculations and Values - This section explores the main calculations and base values
of the Configurator. Review this material to learn about designing configurations, defining rules, using
expression functions, and verifying configurations.

3. Modifiers - This section documents any fields or functions that you can use to adjust the outcome of the
Configurator. The material examines input designer detail modifiers, dynamic lists, part creation, On Leave
/ Prompt When expressions and Global Input Variables.

4. Expression Builder Functions - This section details expression functions that are used when defining a
configuration On Leave, Prompt When, Dynamic List or Rule expressions for a part.

5. Context Functions - This section details context functions that have been developed by Epicor for use when
defining a configuration for a part. Context functions can be used in expressions for pricing, Prompt When,
On Leave and Dynamic List processing.

6. Configurator in Action - This section contains a detailed example that explores how to implement the
Configurator with a product line.

Please note that to clarify how the Configurator works, the concepts behind each item are often repeated within
other items. This is done to show how the various components, calculations, values, and modifiers work together
to create accurate configuration designs.

Epicor ERP | 9.05.702 27


Configurator Concepts and Base Components Configurator Technical Reference Guide

Configurator Concepts and Base Components

The Configurator is designed to facilitate the efficient ordering and manufacture of items with complex
requirements and a myriad of options. It provides companies that build highly customizable and dimensional
Make-to-Order (MTO) products with the ability to create accurate Methods of Manufacture (manufacturing
routings and material content).
Actual on-the-fly product configuration takes place using an interactive Question and Answer input session when
the base universal part is entered into Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or
Demand Entry. This configuration process is also Web-enabled, available to remotely connected users through
use of the Mobile Connect functionality in their Epicor ERP solution. The Configurator can be used to automate
sales force efforts, facilitate closer supplier-customer partnerships, lower the workload of the Engineering
department or to generate standardized parts and components.

The Configuration Session

When the base universal part is entered on a quote, order, job, purchase order or demand order, and the user
elects to configure the item, an interactive Question and Answer session (referred to as the configuration session
throughout this document) appears. Part records contain base information that the Configurator uses to identify
an item as configured part; this is the top-level "universal" base assembly item for which a product configuration
is being defined.

28 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

Depending on how the configuration has been designed, the configuration session prompts for entry of a "Smart
String", or for entry or selection of the specific product parameters required to create end-item product
configurations unique to specific customer requirements.
• The configuration page pictured above has been implemented for use by Wavy Rider Products, manufacturers
of a complete line of pontoon boats. Specific pontoon models are designed and intended for use for certain
types of water activities - fishing, family/leisure or water sports. The customer's primary use of the boat has
a strong bearing on what type of model should be selected, and how it should be configured (that is, what
specific options can be selected and added to the boat during its manufacture). Each model is highly
configurable - the customer can select color, motor size, and electronics (Fisher Finder and sound system).
• The manner in which the Configurator operates, and the specific input pages that display in these sessions
are designed and created using a highly sophisticated, very flexible Configurator Designer. This provides
you with the means to capture in-depth product design engineering knowledge and translate it into an
easy-to-use Expert system for use by order, quote, job, purchase or demand entry personnel.
• Building the universal part and an associated product configuration mechanism requires several distinct steps.
Refer to the Implementation Components and Calculations section for detailed information on each of
these Configurator components. For a detailed explanation of how the Wavy Rider Products configurator was
constructed, refer to Wavy Rider Products in the Configurator in Action section.
Note If using the Multi-Company Configurator functions, you can also invoke a Configurator Q&A session
to configure purchased materials associated with enterprise configurator parts when they are added as
material content in Opportunity/Quote Entry and in Job Entry. These are items for which the Type field
has been set to Purchased in the Part Maintenance > Part > Detail sheet, and have been designated as
an Enterprise Configurator. Refer to the Manufacturing Company Processing topic in the Configurator
in a Multi-Company Enterprise section.

Epicor ERP | 9.05.702 29


Configurator Concepts and Base Components Configurator Technical Reference Guide

The Evaluation Process

As the user operates configuration input pages and enters or selects specific parameters, the Configurator collects
this information and performs a series of evaluations required to generate end-item configurations unique to the
customer's specific requirements.

30 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

It performs the following evaluations at the input control and page-levels during and after configuration parameter
processing:
• If (optional) Smart String Configuration processing is being used, the Epicor application attempts to parse,
process and load all associated configuration input values from the supplied string value.
• Applies any On Leave and Prompt When rules associated with the input page and individual input controls.
If designated in the configuration, this occurs during page-level processing, rather than being processed at
the input control level.
• Determines the manner in which attributes and controls that have been placed on the input page should
operate.
• Processes applicable method rules that determine the behavior of specific controls, and calculate specific
material requirements for the configured end-item.
• Collects information from the configuration entries (and from the originating sales order, quote, purchase
order or demand order) to calculate unit pricing for the configured end-item.
• Generates part master and Smart String information for the configured end-item.

Smart String Configuration Parsing

In a traditional configuration session, after you click the Configure button in Opportunity/Quote Entry, Order
Entry, Purchase Order Entry, Job Entry or Demand Entry, the Epicor application directly accesses, and sequentially
displays each of the configuration input pages you have created for the current configurator in the Configurator
Designer.
When the Smart String Configuration check box in the Configurator Designer > Status sheet has selected for
the item being configured, the Epicor application displays a dialog box during the actual configuration session,
prompting for entry of smart string value. It then attempts to process and load all associated configuration input
values from the supplied string.
• To properly process the smart string values, the Epicor application determines the starting and ending
positions for each of configuration values contained within a typical smart string, based on the parameters
defined in the Configurator Designer > Smart String sheet.
• For example, the first string position (Color) might be start in position 1, end in position 2 and represent the
color of the item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the item.

Page Level Processing

The Configurator Designer - Input Rules > Page Detail sheet can be used during Configurator implementation
to specify how dynamic lists, On Leave and Prompt When expressions should be processed and loaded for a
specific input page during a configuration session.
The Configurator Designer > Input Rules > Page Detail sheet can be used during Configurator implementation
to specify how dynamic lists, On Leave and Prompt When expressions should be processed and loaded for a
specific input page during a configuration session. The behavior of the input page being operated is dependent
on how these parameters have been defined:
• For example, when an input page normally loads during a configuration session, the Epicor application loads
all On Leave expressions that have been defined for specific input pages or individual controls (fields) before
data entry commences, or after leaving a page. This normal loading can be suspended for a specific page.
Refer to On Leave and Prompt When Expression Processing on the next page for more details.
• During a normal configuration session, On Leave expressions are first evaluated before dynamic list conditions
for a combo box control. If page level processing is in effect for the input page, parameters can be set that
designate that dynamic list conditions should be evaluated and processed before On Leave expressions for all
combo box controls. Refer to Dynamic List Processing on the next page for more details.

Epicor ERP | 9.05.702 31


Configurator Concepts and Base Components Configurator Technical Reference Guide

• Parameters can be set to process Prompt When expressions associated with the input page, but skip display
of the input page itself during a configuration session if all inputs are disabled or are invisible (either if
designated as such in the Invisible check box in the Input Rules > Inputs > Detail sheet, or when inputs are
dynamically displayed or disabled based on specified rules). Another parameter designates if any On Leave
expressions that have been defined for controls on the input page should still be processed even if the input
page itself is being skipped.
• If On Leave or Prompt When logic has been defined for the page itself, the Epicor application applies the logic
at the page level in the same manner as it does at the controls (field) level. Refer to On Leave and Prompt
When Expression Processing on the pages that follow for more details.

Input Control Display Processing

The Input Rules > Page and Input Rules > Inputs > Detail sheets, used during configuration implementation,
define the manner in which attributes and controls that have been placed on the input page should operate.
They designate how the Epicor application should display information about for input control: the name, type,
format, and necessary conditions for the input.
These parameters include (but are not limited to) the following:
• If the Global check box has been selected for the input control being operated, it designates that traits
specified for the input field (such as Color) are global for an entire sales order, quote, purchase order or
demand order. In this scenario, when the user enters a value into this field while configuring the part in
Opportunity/Quote Entry, Order Entry, Job Entry, Purchase Order Entry or Demand Entry, the following appears
asking if they would like to apply this value across all detail lines:

• The Global Input Variable check box designates if information entered into an input control can be shared
between parent and child configurations that are executed in a single Q&A session for a single quote line,
order line, job, purchase order or demand order. It allows linking of the global variable in each configuration
to a local input variable.
• For example, the pontoon configurator consists of a parent configuration (model selection) and child
configurations for other options on the selected boat. If Global Input Variable processing has enabled for the
Color control, the Epicor application passes the selected color to the associated "child" configurations, resulting
in a color -coordinated set.
• This eliminates the need to prompt for color selection for each option unless the configurator has been
constructed to do this. Refer to Global Input Variables for detailed information how this is set up and how
it operates.
• The Required check box designates if the control is a required field. The user must enter a value into the
input during an actual configuration session.
• The Tab Order field designates the order in which the cursor moves through the input fields when the Tab
key is used.
• The Format field designates the acceptable format for Character, Date and Decimal type input controls.
• The Initial Value field sets the default value (if any) for the input control being operated (for example, ABC).
• The Minimum and Maximum fields specify the range of valid dates or numbers that can be entered into
Date or Decimal type input controls.
Refer to Input Rules > Page / Design Toolbox and Input Rules > Inputs > Detail for detailed information.

32 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

On Leave and Prompt When Expression Processing

At the input control level, the Configurator determines if On Leave or Prompt When expressions have been
defined for the input page, and individual input control being operated. During a configuration session, the
Epicor application normally processes Prompt When logic when the entire page loads, when you physically leave
a control for which an On Leave expression is defined, or when you exit a page.
• Prompt When expressions contain the conditions under which a particular control (field) should appear on
an input page. If the condition is satisfied (is true), the Epicor application enables the control during the
configuration session. Conversely, if the condition is false (is not satisfied), the control is disabled (does not
appear) during the session.
• Prompt When logic that has been defined for an input may be dependent on the value of another input, and
the value of this input may have changed during the processing of the On Leave expression. The Epicor
application processes the Prompt When logic with the resulting input values after the On Leave expression
has been processed, and then appropriately enables or disables the field.
• If no Prompt When has been defined for a specific input control, it is always enabled.
• On Leave expressions designate the actions that should take place when exiting a particular control (field) on
an input page during an actual configuration session. For example, expressions can be constructed that assign
values to other inputs after leaving the current control or field, or that call external programs to perform
additional processing.
• The settings of the Configurator Designer > Input Rules > Page Detail sheet have a profound impact on how
On Leave expressions are loaded and handled when an input page is processed during an actual configuration
session. Refer to Input Rules > Page Detail for more information.
For example, the Sound System selection check box contains an On Leave expression that states that the check
box can only be used when a premium model has been selected for configuration. If a lower-priced base model
has been selected, the Epicor application disables the control and it cannot be used.

Dynamic List Processing

If a combo box input control is being used, the Configurator determines if Dynamic List logic has been enabled
for the control. The display of specific options often times depend on the entries or selections made in other
fields in a configuration session.
If a combo box input control is being used, the Configurator determines if Dynamic List logic has been enabled
for the control. The display of specific options often times depend on the entries or selections made in other
fields in a configuration session. Unlike standard combo-boxes that offer a fixed set of option selections, dynamic
lists causes dynamic display of sets of option selections during a configuration session that based on conditions
previously defined during the configuration implementation process in the Expression Builder.
• If Dynamic List logic is being used for the control, the Epicor application determines if the associated expression
conditions have been satisfied.
• If the condition has been satisfied, the input control displays the specific set of options specified for that
condition. The dynamic lists can also be constructed so that option sets are populated based on inputs or
values passed in an external list or files. Refer to Input Rules > Inputs > Detail > Dynamic Lists > Detail
for detailed information on Dynamic Lists processing.
In the Wavy Rider Products example, specific pontoon models are designed and intended for use for certain types
of water activities - fishing, family/leisure or water sports. The customer's primary use of the boat has a strong
bearing on what type of model should be selected, and how it should be configured. Depending on the selection
made in the Activity combo box, the Model combo box displays a dynamic listing of model option selections
that are appropriate for the selected activity. This information is passed in to the configurator from an external
Excel spreadsheet..

Epicor ERP | 9.05.702 33


Configurator Concepts and Base Components Configurator Technical Reference Guide

Method Rules Processing

At the input control level, the Configurator determines if method rules have been defined for the control being
operated. These method rules determine what specific raw materials, subassemblies and operations are required
to generate unique Method of Manufacture records for a specific configuration when creating quote or job
details.
Other types of rules perform computations, such as material "quantity per" or operation run time durations.
Refer to Use of Rules Types in Rules Processing for detailed information.

Calculation Rules
If Calculation type rules have been defined for the input control, the Epicor application performs the calculation
as entries are made during a configuration session. It stores calculated values that may be required for use in
other rules, based on the formula specified in the method rule.
• This allows the configurator to accommodate non-standard values that vary based on configuration session
entries (for example, calculation of area for component materials with varying widths and heights).
• If a series of Set Field type rules have been defined that are updated based on the results of an identical
calculation that each one uses, the Epicor application can perform the same calculation using a single Calculation
rule instead of duplicating the same calculation over and over (on multiple assemblies, materials, operations).
• For example, if you created a Calculation Rule called Area, that application calculates area based on multiplying
width and height entries during a configuration session, the Epicor application stores the results of the
calculation in the generated rule programs in a shared variable called Area.

Keep When Rules


If Keep When type rules have been defined for the input control, the Epicor application selects the materials and
assemblies and operations required for a particular configuration, based on user input during a configuration
session. This rule type specifies the conditions under which this material or operation should remain in the Method
of Manufacture.
• A better method of referring to these rules is as "Only Keep When" rules (that is, defining only those conditions
under which specified materials or operations should remain on the Method of Manufacture for the configured
part). They instruct the Epicor application to select operation or material during a configuration session (based
on date, numeric, logical, or string data).
• For example, Wavy Rider Products offers two different types of Fish Finders for their pontoon boats - a standard
model and a GPS-enabled model. The Configurator uses Keep When rules to eliminate the fish finder completely
if none is selected.

Program Call Rules


If Program Call type rules have been defined for the input control, the Epicor application transfers control to the
specified external program to perform instructions, and returns the result to the configuration.

Rule Types Used by Get Details Sheet in Order Entry, Opportunity/Quote Entry or Job Entry
The Epicor application uses the following rules to populate the Get Details sheet when creating a job for the
configured part in Order Entry, Opportunity/Quote Entry or Job Entry:
• Set Field Rules - If Set Field rules been defined for the configuration, it assigns a value to a data field in an
operation or material record for a quote or job, based on the calculations and inputs made during a
configuration session. The Set Field rule if often defined for those fields whose values change based on the
inputs. The most common use of this rule type is for calculation of run times on manufacturing operations.
Based on entries made during a configuration session, the Epicor application uses Set Field rules to properly
populate the Get Details sheet when creating a job for the configured part in Job Entry or Quote Entry.

34 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

• Rule Function Rules - If Rule Function rules been defined for the configuration, it returns values for operations,
operation details, and materials using specified Context functions. If example, if the Retain Existing Methods
context function is associated with a rule being processed, it designates that the Epicor application should
retrieve the Method of Manufacture for the original part number (the part number that was originally defined
as the subassembly of the configured part) in the event that a subassembly part number may have been
changed by a Set Field rule, Rule functions are processed when using the Get Details sheet in Order Entry,
Opportunity/Quote Entry or Job Entry. Each of the rule functions serve a different purpose - refer to Use of
Rules Types in Rules Processing for more details.
• Collects information from the configuration entries (and from the originating sales order, quote or job) to
calculate unit pricing for the configured end-item.

Configuration Price Processing

After performing all rules associated with the page input controls, the Epicor application calculates unit pricing
for the configured item, and then updates the associated sales order, quote, purchase order or demand order.
It does this based on the pricing parameters defined for the input page controls in the Input Rules > Pricing >
Options sheet, and the sheets located under the Input Rules > Pricing > General > Input Pricing tab.
• If the Use Component Pricing check box has been selected for the configuration in the Input Rules > Pricing
> General > Options sheet, the Epicor application calculates the component price using the resulting bill of
material, based on the price lists of each remaining components after all applicable method rules have been
applied. The resulting component price is the total component price plus any additional input pricing that
may have been defined. Refer to Input Rules > Pricing > Options for detailed information
• The pricing parameters defined in the the sheets located under the Configurator Designer > Input Rules >
Pricing > General > Input Pricing tab designate the input controls and values for which base pricing is being
calculated. They also specify the operator (plus, minus, multiply, and divide) and multiplier expressions to use
with the base pricing.
• The Epicor application collects information from the configuration entries (and from the originating sales
order, quote, job, purchase order or demand order) to calculate unit pricing for the configured end-item. This
information can include the customer number, order quantity, discount percentage and other parameters
• When a configured part contains configurable subassemblies, the Epicor application adds the pricing structures
from the subassemblies and the main part, resulting in a new unit price for the configured item. Refer to
Input Rules > Pricing > General > Input Pricing > Order / Quote / Purchase / Demand > Detail help
for detailed information.

Part Creation Processing

After calculating unit pricing for the configured item, the Epicor applications uses parameters defined for
configuration in the Configurator Designer > Input Rules > Part > Creation sheet to determine if and how part
records should be entered or created when the item is configured.
These parameters include (but are not limited to) the following:
• If the Create a new part number for each configuration check box has been selected, the Epicor application
automatically creates a part number each time a new configuration is created (saved) for the base configured
part in a configuration session.
• If the Set Part Number Only check box has been selected, the Epicor application generates a part number,
but skip creation of a Part record itself. It assigns the generated part number to the quote line, order line, job,
purchase order or demand order according to where the base configured part is being configured.
• If the Save Input Values check box has been selected, the input value settings entered in the configuration
session are saved in the record for the new configured part and revision number, and not be linked to a
specific quote, order, job, purchase order or demand order. It can then be used "as-is" on any quote, order,
job, purchase order or demand order without the need for reconfiguration. This is useful because it allows

Epicor ERP | 9.05.702 35


Configurator Concepts and Base Components Configurator Technical Reference Guide

you to define a collection of pre-configured parts (with saved input values that "travel" with the part) that
can be reused at a later time. This ensures that when the Get Details sheet is used in Job Entry, the Epicor
application uses the correct engineering structure at the time it creates an associated job order.
• If the Use Smart String as the new part number option has been selected in the Available Methods field,
the Epicor application uses Smart String generated in the configuration session as the new part number. If
the Prompt for a new part number was selected, the Epicor application displays a message during the
configuration session that prompts for manual entry of a part number for the configuration when it is saved.
• If the Job Entry, Order Entry or Quote Entry check boxes were selected, the Epicor application allows entry
of a new part number, or use of the Smart String when the item is configured in Job Entry, Order Entry.
• If the Automatically create a new part number check box has been selected, the Epicor application
automatically creates part numbers in the Part file; in this scenario no message is displayed during a
configuration session. If cleared, the following message appears in the configuration session asking the user
if a new part number should be created:

The following input window appears in the configuration session after clicking Yes:

• If the Create new part number at zero cost check box has been selected, the Epicor application sets the
cost of the new part at zero. If cleared, it uses the cost of the base part as the cost of the new part.
• When the Create a new part number for each configuration and the Save Input Values check box have
been selected, the Epicor application creates a new part number and generates a method of manufacture
when a configuration is saved after completing a Configuration session. (existing functionality). It automatically
links this newly created part number back to the base part number, allowing it to be reconfigured at any time.
If the Remove Link From Base Configured Part check box has selected, the Epicor application removes the
link back to the base configured part. It then treats the newly created part as a standard part and it is no
longer considered a reconfigurable part.
• When the Create a new part number for each configuration check box has been selected, the Epicor
application creates a new part number when a configuration is saved after completing a Configuration session.
If the Create Revision check box has been selected, the Epicor application also creates a new part revision
record for the newly created part when a configuration is saved after completing a Configuration session.
• Normally, when the Create a new part number for each configuration check box has been selected, and
the Save Input Values check box has been cleared, the Epicor application creates a new configured part,
but it does not generate an associated method of manufacture.
• If the Generate Method check box has been selected, the Epicor application also generates a method of
manufacture at the same time.
• This works in a manner similar to the Save Input Values functionality; it processes associated method rules
and generates a method of manufacture based on the application of the method rules. Unlike the Save
Input Values functionality, it does not save the input values for later reuse.

• If the Prompt For Checkout check box has been selected, the Part Revision Checkout automatically displays
when a configuration is saved after completing a Configuration session. This can be used when the Save

36 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

Input Values or Create Revision check boxes have been selected, and the Epicor application is creating a
new part revision record when a configuration is saved.
• This check box, when selected, causes Part Revision Checkout to display when a configuration is saved
after completing a Configuration session. This allows for check out of the newly created configured part
revision to the Engineering Workbench.
• Clear the check box to skip display of Part Revision Checkout when a configuration is saved after completing
a Configuration session

• Default ECO Group - If the Prompt For Checkout check box has been selected, you can use this field to
specify the default value that should appear in the ECO Group field in Part Revision Check Out (invoked when
you use the Check Out Revision selection, located under the Revision submenu in the Part Maintenance
Actions menu).
Enter the ECO Group number (as defined in ECO Group Maintenance), or click Default ECO Group to access
ECO Group Search to browse a listing of valid ECO Group numbers.

Note If Part Creation parameters have been defined for a subassembly configured part, the Epicor
application processes these parameters for the lower level configured part when the associated top-level
configuration is saved during a Configurator Q&A session.

Smart String Processing

After generating part numbers for the configured item, the Epicor application uses parameters defined for the
configuration in the Configurator Designer > Input Rules > Part > Smart String sheet to determine how a special
identifying number (a Smart String, or unique part number) should be constructed. It identifies the configuration
of the item, based on the entries made during the configuration session.
These parameters specify the basis of how the Smart String should be constructed and include (but is not limited
to) the following:
• The Available Styles parameter the basis of how the Smart String should be constructed. The Epicor application
does not generate a Smart String if the No Smart String Functionality option has been selected. If the
Smart String Constructed from Inputs option was selected, the Epicor application constructs the Smart
String based on inputs entered by the user during the configuration session. When this option is selected, it
uses one of the following parameters to generate the Smart String:
• Part Number + Order Number/Quote Number + Order/Quote Line - The Epicor application constructs
the Smart String from the part number, the number of order or quote, and the line number from the order
or quote. The Digit Structure parameter specify the structure of the digits for the Smart String.
• Part Number + Sequential Number - The Epicor application constructs the Smart String from the part
number and a sequential number. The Starting Sequence parameters specify the starting sequence number
for the Smart String (for example, 1000). As each Smart String is generated, this sequence number
automatically increments by one
• The Separator Character parameter specifies the delimiter character (dash, space, slash, underscore or
no separator) that should separate the individual element sections of the Smart String.
• Refer to Smart Strings for details on the remaining parameters in the Configurator Designer > Input Rules
> Part > Smart String sheet.

After clicking Save during an actual configuration session, the Epicor application determines if an available style
has been defined for the configured part (in the Available Styles field in the Configurator Designer > Input
Rules - Part > Smart String sheet) prior to saving the input value records.
• If an available style was selected, the Epicor application builds the Smart String according to the selected
parameters defined in the Input Rules > Part > Smart String sheet. Once it builds the Smart String, it verifies

Epicor ERP | 9.05.702 37


Configurator Concepts and Base Components Configurator Technical Reference Guide

if any of the "assignment" parameters were specified for the configured part in the Input Rules > Part > Smart
String sheet and update the appropriate fields accordingly on the associated order or quote.
• When saving a configuration, the Epicor application processes all of the selections made in the Input Rules >
Part > Smart String sheet. For example, if the Customer Part Number check box has been selected, it updates
the Customer Part Number field in Order Entry or Quote Entry with the newly created part number.
• When using the Get Details sheet in Job Entry, the Epicor application also processes all applicable rules to
determine the exact material and operations content for the Method of Manufacture for the newly configured
part. Therefore, if you create a Set Field rule that updates the value of the customer part number on the
quote, it overwrites the newly created part number that was assigned to the Customer Part Number field
with the new customer part number that results from processing of the Set Field rule.
Note If Smart String parameters have been defined for a subassembly configured part, the Epicor application
processes these parameters for the lower level configured part when the associated top-level configuration
is saved during a Configurator Q&A session.

38 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

Configurator in a Multi-Company Enterprise

The Epicor application provides several sophisticated functions that allow you to manage configured parts in a
multi-company enterprise. These functions automate business situations in which a Sales company configures
and sells products that are designed and manufactured in another company.

Epicor ERP | 9.05.702 39


Configurator Concepts and Base Components Configurator Technical Reference Guide

These companies can be located within the same database, or can be located in separate external databases.
This is a typical business scenario that can be automated using the multi-company configuration functions:
• A multi-national enterprise based in the United States has several domestic and foreign Sales companies, and
one or more domestic or foreign Manufacturing companies.

40 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

• The enterprise sells configured items that are designated as manufactured parts in the Manufacturing
companies, and designated as purchased parts in the Sales companies.
• The enterprise maintains the configurations in one of the Manufacturing companies; these defined
configurations are then used by the Sales companies when they receive customer orders for the items.
Important For extended details on the multi-company set up and operation, refer to the Multi-Site
Technical Reference Guide in the Application Help. In particular, refer to the following sections in that
document:
• The Multi-Site Concepts section explores, in detail, all possible setup scenarios related to multi-site
processing.
• The Multi-Company/Multi-Site Processes > Configurator in a Multi-Company Enterprise section
covers, in detail, the setup and operation of a multi-company Configurator.

Tip The Epicor application does not export manufacturing (method) rules or the method of manufacture
to the Sales companies at the time of configurator synchronization. By separating the manufacturing rules
and the Method of Manufacture from the other rules, synchronization of the method of manufacture for
a configured part is not required between the Manufacturing company and Sales companies. This allows
you to protect proprietary information from potential distribution to unwanted parties.

The following sections describe how the configuration process operates in a typical Sales and Manufacturing
company.

Sales Company Processing

This is a typical business scenario that describes how the configuration process operates in a Sales company:
A configurator is defined in, and managed by a U.S. parent company. The Epicor application automatically
synchronizes it with the database of the United Kingdom (U.K.) Sales Company. When the U.K.-based company
receives an order from a customer, it configures the end-item in Order Entry using the configurator originally
defined by product engineers in the U.S. Manufacturing parent.
• If the Manufacturing company is drop shipping the item, the Sales company must specify Need By and Ship
By dates in the Header sheet. These dates are used in PO suggestions generated for the Buy to Order configured
part.
• To generate a sales configuration, the data entry operator creates a new order line item, enters the base part
into the Part/Rev field and an order quantity into the Order Quantity field. After clicking Configure, they
proceed to configure the part using the configuration process defined in the Manufacturing company.
• Once the entry person has completed the configuration process and has saved it, the Epicor application
automatically updates the pricing for the item; this is based on the order and component pricing parameters
specified for the configuration in the Manufacturing company, and (optionally) the price lists of the U.K. Sales
company. The Epicor application uses the configuration rules and parameters specified in the Manufacturing
company to generate the configuration
• If the ordered item is being drop shipped directly to the customer from the Manufacturing company, they
select the Buy to Order and Drop Shipment check boxes, and enter supplier information in the Releases >
Detail sheet. The supplier for the part is the U.S. Manufacturing company.
After an order has been entered, running the Generate PO Suggestions program creates PO suggestions for the
sales order in the U.K. Sales company (this normally runs as a background process). In effect, the Sales company
is purchasing the configured items from the U.S. Manufacturing company; the configuration information may
also contain a calculated purchase price

Epicor ERP | 9.05.702 41


Configurator Concepts and Base Components Configurator Technical Reference Guide

The New PO Suggestions program converts the PO suggestion into a purchase order (this also runs as a background
process). The person running this program selects the PO suggestion generated for the configuration part, and
then uses the Generate Purchase Orders option on the Actions menu to generate the actual purchase order.
• Once the purchase order has been generated. they use the Purchase Order Entry program to verify the price
and approve the purchase order. Once approved, the Epicor application automatically synchronizes it to the
Manufacturing company.
• It passes the configuration information for the ordered item back to the U.S. Manufacturing company through
this synchronization process. This is the purchase order used by the Sales company to purchase the configured
part from the Manufacturing company.
Tip A sales configuration does not necessarily need to result in the purchase of a part that requires
configuration in an internal Manufacturing company. If it is not a configured part, it can be purchased
from any supplier, including other Manufacturing companies. If the supplier is an internal Manufacturing
company, and it is not a configured part, the Epicor application automatically creates a sales order in the
Manufacturing company, but does not synchronize the configurator rules. This is often the case for these
types of items - after they have custom configured in the same manner over time, an enterprise may elect
to simply manufacture it as a standard "off-the-shelf" stocked item.

Manufacturing Company Processing

This is a typical business scenario that describes how the configuration process operates in the associated
Manufacturing company.
This is a typical business scenario that describes how the configuration process operates in the associated
Manufacturing company. The following tasks generally take place in the Manufacturing company after the
purchase order for the ordered item is synchronized from the Sales company:
By specifying the purchase order, selecting the Ready for Order check box and using the Accept All selection
on the Actions menu in Incoming Intercompany Purchase Order Suggestions, the Epicor application converts the
Sales company purchase order to a sales order in the Manufacturing company. In effect, the Manufacturing
company is selling the manufactured configured part to the Sales company (the Sales company is considered a
customer of the Manufacturing company).
• It synchronizes the sales price in the Manufacturing company with the purchase order price in the Sales
company. This includes the configurator inputs from the U.S. sales company; they can modified in the sales
order depending on the synchronization settings.
• If Document rules have been defined in the product configuration, the Epicor application automatically updates
the associated information contained in the resulting sales order, based on syntax of the applied rule.
• Once the sales order is approved, the Epicor application flags the ordered part as a Manufactured part.
The Epicor application then processes it as it would any other manufactured part by generating a job when you
run MRP, or it generates a job suggestion for the sales order line. It generates the Method of Manufacture for
the generated job method using the configurator inputs of the Sales company, and the input rules, structure
rules and method rules defined in the Manufacturing company.
After completion of the job, the configured items are shipped to the U.K. Sales company or direct shipped to
the customer, depending on the drop ship settings entered for the order in the U.K. Sales company. The Epicor
application automatically synchronizes shipment information through the Multi-Company module functions.
Tip The Manufacturing company maintains the Configurator design for all companies. You have the ability
to define different input rules for different sales companies, and a differentiate between the manufacturing
company and the sales companies. The structure rules are the same for each company, but the company
ID can be incorporated in the conditions of the structure rules; making sure that some components are
not configured in some sales companies.

42 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator Concepts and Base Components

Note You can configure purchased materials associated with enterprise configurator parts when they are
added as material content in Opportunity/Quote Entry and in Job Entry. These are items for which the Type
field has been set to Purchased in the Part Maintenance > Part > Detail sheet, and have been designated
as an Enterprise Configurator.
• To do this for a quote line, you add the part to the Material node in Opportunity/Quote Entry > Line
> Mfg Details > Tree sheet. After you have added the part, simply right-click it, then select Configure
to access a Configurator Q&A session.
• To do this for a job, you add the part to the Material node in the Job Entry Tree View. After you have
added the part, simply right-click it, then select Configure to access a Configurator Q&A session.

Use of Configuration Rules

The Configurator employs Keep When method rules that specify what materials and operations should be added
to the method of manufacture for a configured item. The method of manufacture contains the company proprietary
information that designates how a product should be built; it is also linked to many company specific maintenance
tables such as resources and resource groups.
To protect the proprietary nature of this information, the Product Configuration module makes extensive use of
several types of rules that you define during the initial product configuration definition phase:

Input and Document Rules


Input Rules, entered into the Input Rules tab and accompanying sheets in the Configurator Designer, define
configuration pages, input page parameters, Prompt When rules, On Leave expressions, inputs, configuration
part and pricing parameters for the configurator.
They also include Document Rules that allow for automatic updating of the source documents (quotes, sales
orders, job orders, purchase orders or demand orders) that initiate production of a configured item. For instance,
based on syntax defined in Document rules, you can automatically update the description of the sales order line,
based on the components selected for the configured item. By separating the Document rules from the
manufacturing (Method) rules, the Epicor application can execute them without the need to run the Get Details
process in Opportunity/Quote Entry or Job Entry.

Method Rules
Method Rules, entered into the Method Rules tab and accompanying sheets in the Configurator Designer,
specify how a method of manufacturing should be created for use in producing a part configured in a Sales
company. Method rules include Keep When Rules that determine the specific material content, and designate
what components and operations should be included when the configured part is manufactured. The Epicor
application does not export manufacturing (method) rules or the method of manufacture at the time of
configurator synchronization to the Sales companies in which configurations have been created (when a quote,
order, job, purchase order or demand order is initially entered).
By separating the manufacturing rules and the Method of Manufacture from the other rules, synchronization of
the method of manufacture for a configured part is not required between the Manufacturing company and Sales
companies. This allows you to protect proprietary product information from potential distribution to unwanted
parties.

Structure Rules (Multi-Company Configurator Only)


Structure Rules, entered into the Structure Rules tab and accompanying sheets in the Configurator Designer,
are rules that build the structure of configurable subcomponents. This structure is necessary to determine which
other configurators must be present in the Sales company in order to collect all the required inputs for the
Manufacturing company. Structure rules are also required for component pricing; if component pricing is used,
each component affecting the pricing must be listed in the Structure rules.

Epicor ERP | 9.05.702 43


Configurator Concepts and Base Components Configurator Technical Reference Guide

Structure rules can only be defined for configured parts for which the Enterprise Configurator check box has
been selected in the Status sheet. They cannot be defined or used when the Configurator is being operated in
a single company (the configuration is being designed in the same company database in which the configured
part is being sold and manufactured).

Configurator Synchronization

Depending on the data transfer method being used in your multi-company environment (SONIC or DIRECT),
you must use the Enterprise Configurator Server Process (or Enterprise Configurator Direct Server Process) and
the Multi-Company Server Process (or Multi-Company Direct Server Process) programs to synchronize configuration
data between multiple companies in a single database, or companies located in external databases. These are
all designed to run as continuous background processes.
These programs are designed to run as continuous background processes.
• The Enterprise Configurator Server Process (or Enterprise Configurator Direct Server Process) programs
synchronize configuration data between a Manufacturing company and Sales companies (the System Monitor
can be used to view transactional activity for these processes).
• When you run the companion Multi-Company Server Process (or Multi-Company Direct Server Process)
programs, it sends the configured part to the Sales companies.
• They need to be used on a continuing basis to properly synchronize purchase order, sales order and
configuration input information between the Manufacturing and Sales companies.
Tip The Enterprise Configurator Server Process (or Enterprise Configurator Direct Server Process) programs
do not export manufacturing (method) rules or the method of manufacture at the time of synchronization
from Manufacturing companies to Sales companies. By separating the manufacturing rules and the Method
of Manufacture from the other rules, synchronization of the method of manufacture is not required between
the Manufacturing company and Sales companies. This allows you to protect proprietary product information
from potential distribution to unwanted parties.

44 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Implementation Components and Calculations

This section explores the main calculations and base values of the Configurator. Review this material to learn
about designing configurations, defining rules, using expression functions, and verifying configurations.

Pre-Implementation Planning

The Configurator uses several components together as a base for defining the manner is which a universal part
can be configured during actual configuration sessions in Order Entry, Opportunity/Quote Entry, Purchase Order
Entry, Job Entry or Demand Entry. The values defined on these components affect how the Epicor application
handles product configuration at your company.
• When you set up these primary components to reflect how you want the Epicor application to handle
configuration tasks, you fine -tune the Configurator to fit your business practices. The Configurator will then
allow accurate configuration of items that may potentially have thousands of variations in material content
and associated manufacturing requirements.
• This section details the main components that users must define in order to use the Configurator functionality.
It contains descriptive information, the program in which the component is located, logic/algorithms and
examples for many of the components and calculations.
• The sequence in which topics appear in this section generally follows the approximate order in which you
implement (design and setup) a configuration for a specific product or product line.
Prior to the actual implementation of the Configurator, you must first take time to carefully consider how it will
be used in your operations, and how it will evolve over time. The Configurator is a very flexible, highly sophisticated
tool that has a considerable impact on how you plan for material requirements and ultimately manufacture the
products you sell to your customers. It must be implemented in a manner that leads to acceptable results, and
that can easily be maintained and modified as your product offerings evolve over time.
The Configurator, is, in its essence, a programming entity designed for use by your product engineers.
• It provides you with the means of capturing their in -depth product design engineering knowledge and
translating it into an easy-to-use, Q&A-based Expert system / configuration tool for use by order, quote, job,
purchase order or demand order entry personnel.
• Due its extreme flexibility, there are many differing ways to implement and use it. Some will yield acceptable
results in your operations, others may not.
• If it is not properly implemented, problems could arise in the future when you attempt to modify it to conform
to, and properly reflect, the design changes made to the products you offer.

Information Collection for Configuration Implementation

Prior to implementing the Configurator, you should compile a list of questions related to how you design and
market your product (lines) to your target customer base. The answers to these questions will help you determine
how you should implement the Configurator in your operations.
For example, it is possible to structure a "no-input, behind-the-scenes" configurator that does not prompt for
entry of information. Instead, it simply uses the customer, product and pricing information entered on a quote,
sales order, job, purchase order or demand order to perform internal calculations (such as determining setup and
runtimes, or generating bills of materials). Refer to Creating a No Input Configurator in the Configurator in
Action section of this document.

Epicor ERP | 9.05.702 45


Implementation Components and Calculations Configurator Technical Reference Guide

Initially, you must collect all information required to properly design the Configurator Designer - this includes
determining:

Current Configuration Methods


Do you use or maintain any programs, spreadsheets or data lists that could be useful in translating your present
methods into an accurate, easy-to-use online configuration process?
• Refer to the Wavy Rider Products example in the Configurator in Action section. They made extensive
use of comma -separated (csv) files and Excel spreadsheets they used for pricing and option selections in their
manual (pre-Epicor) configuration process.
• Likewise, your current manual product configuration methods could be a very fertile source for information
you use to structure input pages and select options in your new Epicor Configurator.

Current Product Structure and How it Might Change


Are your methods of manufacture highly componentized? Does the material content of a "standard" product
vary based on where it is used or shipped? For instance, cars shipped to Alaska come equipped with winter tires
and engine heating, while cars shipped California have summer tires and a sun roof. Other customers or partners
may want machines shipped without a motor so they can mount their own.

Structure of Your Current and Future Products


Should you use the Super BOM or Template BOM methods for configuration definition in your new Configurator?
The Super BOM method is easier to understand and setup initially, but is much more difficult to maintain in the
future as your designs evolve. The Template BOM method is a bit trickier to setup initially, but is much more
effective and easier to maintain in the future. Refer to the Super BOMs Versus Template BOMs section.

Use of Structured Part Number for Current Configurations


Do you use structured part numbering for your current configurations? If so, what is the part numbering scheme,
and how is it assigned? Is the part number printed on documents? If so, which ones?

Desired Outputs from the Configurator


Do you want the Configurator to generate a detailed Method of Manufacture with complete material, operation,
resource and resource group detail information required to manufacture the end-item on a job order? Do you
simply want to generate a part number or Smart String that can be printed on order or quote forms? Do you
want it to simply calculate and order or quote configuration price? Do you want to simply calculate setup and
runtimes for a manufacturing process, based on sales or quote entries?

Super BOMs Versus Template BOMs

A crucial decision that needs to be made prior to Configurator implementation is to decide whether you will use
the Super BOM or Template BOM methods for configuration definition. The granularity and structure of your
current and future products (and product lines) has a profound influence on which method you use in your new
configurator.
• As mentioned previously, the Super BOM method is easier to understand and setup initially, but can be much
more difficult to maintain in the future as your designs evolve.
• The Template BOM method is a bit trickier to setup initially, but is much more efficient and far easier to
maintain in the future.
Depending on granularity of the component levels required for your product or product lines, you can design a
single large-scale configurator that covers all levels of the product or product line (a Super BOM), or one

46 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

single-level configuration with placeholders (a Template BOM). It then allows the user to select the top-level
assemblies themselves, or depending on the selections made during the configuration session, execute separate
configurators for each subassembly. This decision also depends on the need for component configuration for
multiple main configurations, and on the need for configuring components as spare parts. For simple products
such as a window, your choices are to:
• Use one single-level configurator for each window type you offer (for example, separate configurators for
bay windows, another for bedroom windows) with substitutable placeholders.
• Use one multi-level configurator for each window type covering all conceivable configuration options at all
levels.
• Use a multi-level configurator for each order, where each window is a separate subcomponent.
For more complex items such industrial valves, computers, boats:
• Use one bulky Super BOM configurator for all similar valves using Keep When rules, component replacement,
or both.
• Use a multi-level Template BOM configurator where most assemblies are themselves configurators that use
Keep When rules, or component replacement using Method rules (or both) at each level. Setting up a multi-level
multi-configurator option might cost some more design time initially but maintenance is the big issue to solve;
when options, components and new product lines are added later on then the single configurator will quite
difficult to modify and errors are quite easily made.

Using a Super BOM

When using the Super BOM method, the person designing and implementing the Configurator has to define
an initial Method of Manufacture for the base universal part that contains all materials and operations that

Epicor ERP | 9.05.702 47


Implementation Components and Calculations Configurator Technical Reference Guide

could possibly be included to manufacture the end-item configured part, regardless of the actual
selected configuration options. It is in essence multi-level, and makes extensive use of Keep When rules to
select the materials and assemblies and operations that should remain for a particular configuration. Keep When
rules specify the conditions under which specific materials or operations should remain in the Method of
Manufacture.
This is easy to understand and is basically the way in which the configurator should be designed on paper. It is
in essence a monolithic configurator that covers all conceivable options for all products within a specific product
line.
The problem with using this method is that when new products or product lines are added in the future, the
Keep When rules can become very complex and somewhat convoluted. This is due to the fact that the Super
BOM represents a single monolithic large-scale configuration for an entire product line.
• For example, the logic for Keep When rule might read as "Keep Operation AA for Product XX, Product YY
and Product ZZ, except when XX has Assembly 77 or Option 867, and except when Product ZZ has Option
756 but not Option 43."
• Maintenance of the rules and parameters for a monolithic Super BOM can be very problematic when you
need to change a product or product line in the future that share common operations or materials. When
changes are made in the future, all possible variations due to option or rules changes need to be tested
because they are all intertwined in a monolithic structure.
The Super BOM concept is analogous to old hard-wired computer technology in which changes to existing
system configurations were difficult and sometimes painful to make.
• If company required more computing power, a technician had to shut down the system, and make internal
changes such as updating circuit boards or swapping hard drives. Often times it also meant that the supporting
infrastructure and system software also had to be changed or updated to accommodate the increased
computing power. If a board was not functioning properly, it had to be removed while the system was out
-of-service.
• Any changes made to the system configuration adversely affected its ongoing functioning. It could not continue
to operate while upgrades were made, or components were replaced.
Similarly, as you develop new products, or update existing ones, the changes that are required to an associated
Super BOM configuration (such as modifying or adding Keep When rules to reflect the material changes made
to the product) are often difficult, disruptive and time-consuming to make.

Using a Template BOM

The Template BOM (or Replacement BOM) is a method that defines a configuration that contains a maximum
number of assemblies, and per assembly, the maximum number of materials and operations that can be included.
Keep when rules are used when a lesser number of assemblies, materials or operations are needed than the
maximum number specified in the configuration.
• Each assembly, material and operation is a simply a placeholder for the actual assemblies, materials and
operations. The Configurator determines the actual assemblies, materials and operations for a specific
configuration using Calculation rules (rather than Keep When rules) if the numbering is logically structured,
or by performing Excel spreadsheet or UD table lookups.
• Adding new product lines simply involves adding that new "piece" of the configurator and the new options,
changing the external spreadsheet or UD table. However, the basic functions to determine the calculation or
perform the actual lookups does not need to change in most cases. In contrast to the Super BOM method,
testing only needs to focus on the new options.
• For example, a configurator may have 20 options, but some options rule out other options, or are only available
in certain combinations. Effectively, you may have only a maximum of 14 different options available for any
possible combination. The configurator may require that a minimum of five options be selected. The resulting
Template BO would have 14 placeholders, nine Keep When rules and 15 -20 replacement rules. A Super BOM
for this same configuration would have 20 components and possible 15 to 20 Keep When rules. If options

48 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

become more dependent on each other, and more options are added, the Keep When rules become more
complex in the Super bom, and become increasingly dependent on each other. In the Template BOM, the
Keep When rules are relatively simple, and replacement rules can be added more easily without affecting
other replacements rules too much.
The Template BOM concept is analogous to modern blade server computer technology. A blade server is
one that consists of a rack with power/connection slots that contain separate, installed processor blades. The
power/connection slots on the server are analogous to the placeholders defined in a Template BOM configuration.
• The blades themselves are simply self -contained modular servers on a single circuit board. If company requires
more computing power, they simply insert a new blade into an empty power slot, or remove/replace an
existing one.
• A blade that is out -of-date technologically, or is not functioning can be easily removed.
• The changes made to the server configuration do not upset its ongoing functioning. The entire blade server
itself continues to operate continuously when new blades are added, or old blades are removed.
Similarly, as you develop new products, or update existing ones, all that needs to be changed in the Template
BOM-based configuration is the piece of the configuration related to the product upgrade. You then simply insert
the changed piece into it.

Other Implementation Considerations

When these decisions are made and a global schema of the required configurators is laid out for each configurator,
you should also consider the following:

Question & Answer Input Sequence

The questions / options that need to be included in the design of the configuration need to determined and put
into a sequence. Sequencing the questions eliminates asking for the same information multiple times during a
configuration session, and it allows the designer to eliminate options based on prior answers.
Any option that can be calculated based on prior answers should not be asked during a configuration session.
• A general thumb of rule is to put no more than 15 - 20 questions on an input page.
• Due to the fact pages can be completely skipped, it might make sense to group certain questions on one
page.

Dynamic Lists and External Lookups

Usage of dynamic lists in combination with Excel lookups or external programs, referencing UD tables or other
Epicor database tables is more time-consuming to setup initially, but saves a great deal of time later when new
options have to be added. Wavy Rider Products made extensive use of these functions in their Configurator setup.
Refer to the Wavy Rider Products example in the Configurator in Action section.

Epicor ERP | 9.05.702 49


Implementation Components and Calculations Configurator Technical Reference Guide

Free-Form Fields

The use of free-form fields should not be discarded because the Engineering department has to have a look at
the free form options before releasing the item to production, This makes the configurator much simpler to
maintain because rarely used, complex options are not automatically configured.

Testing Configuration Input Pages and Defining Rules

We recommend that you create and test configuration input pages before adding any rules or pricing options
to the configurator. When defining rules, a top-down approach is recommended.
• First apply the rules for the assemblies, materials and operations at the highest level before defining the details
and rules at the next level. You must also decide if Keep When rules or replacement function should be used.
If you are creating fairly small (single-level) configurator, using Keep When rules is a good idea.
• For more complex configurators, use of the replacement function is highly recommended. It allows you to
replace assemblies, materials and operations based on a Calculation rule, an Excel spreadsheet looking or use
of an external function calculation/query. The replacement function results in a quite smaller set of dynamic
rules that are easier to expand and maintain.

50 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Configurator Setup (Single Company Environment)

This is a typical setup flow if you are planning to use the Configurator in a single company environment; this is
one in which you define the configuration process, and then sell, configure and manufacture the part all within
the same company.

Epicor ERP | 9.05.702 51


Implementation Components and Calculations Configurator Technical Reference Guide

Tip If you are operating the Configurator in a multi-company environment, refer to the Confgurator
Setup (Multi-Company Environment) topic for detailed information on multi-company setup and
operation. Setting up a configurator in a multi-company environment is more complex than in a single
company environment, but the basics remain the same.

1. Create the configuration (non-stock) part in Part Maintenance.

52 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

2. In the Engineering Workbench, build the Method of Manufacture for the configured part, and then check
it in using the Part Revision Checkin process.

3. Open the configured part and revision using the Part/Rev sheet in the Configurator Designer.

4. Design the input pages using the sheets found under the Input Rules tab. Optionally, Document rules can
also be defined that automatically update configuration source documents such the sales orders, job orders
or quotes.

5. Set order, quote, purchase order and demand order pricing parameters for the configured part using the
sheets found under the Input Rules > Pricing tab. Using the Configurator Designer > Input Rules > Pricing
> Options sheet, designate If component pricing is used; these components must be defined in the structure
rules.

6. Add method rules for the configured part using the sheets found under the Method Rules tab. These rules
determine which subassemblies, materials, operations and operation details are included in the method of
manufacture when a configuration is built that is created when the part configured in Order Entry,
Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry.

7. Add method rules for the configured part using the sheets found under the Method Rules tab. These rules
determine which subassemblies, materials, operations and operation details are included in the method of
manufacture when a configuration is built that is created when the part configured in Order Entry,
Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry.

8. When the configuration is ready for deployment, approve it using the Approve check box in the Status
sheet.

9. Use Regenerate Configurations as needed after a new service pack or patch has been installed to regenerate
configurations that have been created in the Configurator Designer for base part numbers .You can specify
if all configurations should be regenerated, or if only configurations for individual parts selected in the Filter
sheet should be regenerated. When you run this program, it selects previously approved configurations (for
which the Approved check box has been selected), and performs the following functions:
• Regenerates associated rules programs
• Regenerates the assigned configuration sequence
• Recalculates internal "Has Leave Trigger" flags

Epicor ERP | 9.05.702 53


Implementation Components and Calculations Configurator Technical Reference Guide

Base "Universal" Part / Part Revision

Part records contain base information that the Configurator uses to identify a configured part; this is the top-level
"universal" base assembly item for which a product configuration is being defined. Beyond entry of a part
identifier and description, the requirements for defining the base part in Part Maintenance are minimal. It must
be designated as non-stocked; otherwise, all remaining required setups in Part Maintenance are the same.
• Once you have created a part, you then create revision numbers for the configured item. The Part Revision is
a number or letter that represents the number of times that a part specification has been modified. You enter
revision information for each part into the Revisions sheet in Part Maintenance. Whenever you refer to a part
in the Epicor application, you also specify a revision number. A revision implies a change in the Method of
Manufacture, or some change in the part that makes it unique from the same part number purchased or
manufactured at a different point in time.
• Once a revision number has been assigned to a top-level base configured part, it can then be checked out to
an ECO group. From the Actions menu in Part Maintenance, select the Revision option, and then click Check
Out Revision.
• Once checked out to an ECO group, a Method of Manufacture and the related configuration can then be
developed in the Engineering Workbench. The Method of Manufacture you create in the Engineering
Workbench for a configured part is defined by part revision. Refer to Method of Manufacture for more
details.
• Once the Method of Manufacture has been defined for the configured part/revision in the Engineering
Workbench, the revision must be approved on the Revision > Detail sheet in Engineering Workbench and
then checked in using the Revision > Check In option on the Actions menu in the Engineering Workbench.

Programs and Their Modifiers

Part Maintenance
You can use this program to enter part master and revision information. Refer to Assemblies and Subassemblies
for details on how to launch it from the Main Menu.

54 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

To create a new part, select New Part. Entry of both a part number and description are required. These are the
other values you must modify for this item:
• Non-Stock Item - When selected, this check box indicates that this part is not normally stocked as part of
inventory. When a manufactured part is a non-stock part, all demand for this part will be satisfied by jobs. If
the demand comes from a sales order, the sales order is linked to a job that will satisfy its demand. If the
demand comes from another record that uses this part on a sub-assembly, the demand is satisfied by creating
a sub-assembly level on the original job. This check box must be selected to identify an item as a configured
part.
• Type - This indicates if you normally purchase or manufacture this part, or sell it as a sales kit. It is also used
as selection criteria on various reports and searches. It does not, however, limit how you can use this part
record.
• Manufactured - This value indicates that the part is produced by your company. The MRP engine creates
job suggestions against the part record.
• Sales Kit - A sales kit part is not calculated by the MRP engine. The component parts that make up a sales
kit, however, will generate both job and purchase suggestions. When all the component part quantities
are manufactured, the sales kit is ready to be assembled. This process, however, is handled outside of the
Configurator.
• Purchased - Purchase parts can be configured in the sales order. If the Buy To Order check box has been
selected for the part, the purchase order header and line items containing the part can be updated using
Document and Pricing rules. The Configurator cannot be executed from a purchase order line.

You then enter revision information for the top-level base configured part in the Revisions sheet in Part
Maintenance.

To create a new revision for the configured base part, select New Part Revision. These are the values you can
modify for this item:
• Description - Enter a brief description of the revision. A longer detailed description of the reason(s) for the
revision can be entered on the Revision Change Description sheet.
• Draw - Enter any optional engineering drawing reference. This appears as a default reference in Job Entry.
• ECO - Enter any optional engineering change order reference.
• Effective - Enter the date on which this revision becomes effective. The Epicor application uses this date to
determine the default revision whenever a part with revisions is entered. This date is also used in the
Engineering module reporting to determine current revisions in the bill of material structure.

Epicor ERP | 9.05.702 55


Implementation Components and Calculations Configurator Technical Reference Guide

• Rev - Enter the revision reference for the configured part. This can be referred to throughout the Epicor
application when you enter this part. For example, if you enter an order for a certain part number, the current
revision for this part appears by default. To enter any bill of material or routing information, you must enter
a revision record with an effective date and description. You define this value on the Revisions > Detail sheet.
• Approved/Not Approved - This indicates whether this revision has been approved for use.
• Only approved revisions are considered valid revisions in entry programs. Once a revision is approved, you
cannot make any maintenance changes to that revision or enter any bill of material or routing information.
• When this check box is selected, the Not Approved button to the left of the check box appears as
highlighted (the default highlight color is green), and the text on the button changes to Approved.
• The Not Approved check box is disabled and won't allow you to approve the revision if an unapproved
configuration exists (the Approve check box on the Configurator Designer > Status sheet isn't selected for
this specific revision), or if the revision is checked out to an ECO group.
• When you clear the Not Approved check box to approve the revision, the Revision Change Description
sheet appears for entry of any descriptive comments for this is approval. The Epicor application stores the
user ID, system date and comments every time you approve a revision.

Once a revision number has been assigned to the part, it can then be checked out to an ECO group. Once checked
out to an ECO group, a Method of Manufacture and the related configuration can then be developed in the
Engineering Workbench.
From the Actions menu in Part Maintenance, choose the Revision option and select Check Out Revision. These
are the values you can modify for this item in the Part Revision Checkout form that is displayed when Check Out
Revision is selected:
• ECO - Enter the ECO number to which the part revision is being checked out, or click New ECO to create a
new ECO number.
These are general guidelines for defining a part and a Method of Manufacture for the part:
• Creating a new part - Select New Part from the File menu in Part Maintenance. Assign the part number
and enter an accompanying description. Select Manufactured in the Type field and select the Non-Stock
Item check box.
• Creating a new revision - Select New Part Revision from the File menu in Part Maintenance. Enter a
revision number and description into the Rev and Description fields.

56 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Checking out the revision to an ECO group - From the Actions menu in Part Maintenance, choose the
Revision option and click Check Out Revision. Enter a valid ECO group into the Check Out Revision form,
or create a new ECO group by clicking the New ECO button.
• Defining the Method of Manufacture for the revision in the Engineering Workbench - From the
Actions menu in Part Maintenance, choose the Revision option and click Engineering Workbench. In the
Engineering Workbench, add operations and materials defining the method of manufacture.
• Approving and checking in the revision - When you're finished adding operations and materials, approve
the revision by selecting the Not Approved check box in the Revision > Detail sheet in Engineering Workbench.
From the Actions menu, choose the Revision option and click Check In. Enter a description of the change
and close the Engineering Workbench.

Example

When trying to decide how to implement their Configurator, Wavy Rider Products determined that there were
multiple ways in which the universal part (or parts) could be defined for their pontoon boat configuration process,
including:
• Assigning a separate universal part assigned for each individual model, or
• Defining a single general "CFGPontoon" part that acts as a "placeholder" for subsequent selection of the
boat model, based on its intended use. This is the method Wavy Rider Products has elected to use.
Wavy Rider Products created a part revision that includes the following parameters:

Epicor ERP | 9.05.702 57


Implementation Components and Calculations Configurator Technical Reference Guide

Method of Manufacture

The Method of Manufacture is the process through which a configured part is produced. Each Method of
Manufacture is made up of two distinct components:
• A bill of operations, or routing, that defines the various tasks that need to be run in order to manufacture
the part. This defines the sequence of manufacturing and assembly operations required to build the final
product.
• A bill of materials that specifies the materials required to complete the part; this includes all purchased and
manufactured components.
The Method of Manufacture you create in the Engineering Workbench for the base universal part is defined by
part revision, as specified in the Revisions Detail sheet in Part Maintenance (refer to Base "Universal" Part /
Part Revision for more details). There is a major difference between defining a Method of Manufacturing for
non-configured parts, and for configured parts:
• For non-configured parts (that is, those that do not use the Configurator), product definition consists of
defining the exact material and operations content required to build the item as designed. Any changes from
the design (or revision) must be done manually during Quote Entry or Job Entry, or at any time during the life
cycle of the job.
• A configured part uses the method rules base (as defined in the Configurator Designer > Method Rules >
Rules > Detail) to select the materials and assemblies and operations required for a particular configuration.
There are two general methods for creation of the Method of Manufacture for the base universal part - the
Super BOM and the Template BOM. This is discussed on the following page - however, refer to the Super
BOMs and Template BOMs topic in the Implementation Components and Calculations section for a
more detailed discussion.

58 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Super BOM
• The Method of Manufacture for the Super BOM contains all component parts and operations that could
possibly be included to manufacture the configured part, regardless of the actual selected
configuration options.
• One of the most powerful features of the Configurator is its ability to perform calculations through formulas,
and determine which specific components should be retained in the Method of Manufacture generated for
the configured assembly. This is accomplished through the use of defined Keep When rules.
• For example, you manufacture scissors, which could be black, white, red, or green. The standard build is right
-handed scissors but, but you can also manufacture left-handed scissors. A single configuration called Scissors
includes the operations and materials to accommodate all possible variations of color and function.

Template BOM
• The Method of Manufacture for the Template BOM consists of placeholders that the Epicor application
replaces (after a configuration session) with the actual assemblies, materials and operations required
for the resulting configured item.
• When a job or quote is created, it uses this base Method of Manufacture, and processes any rules that may
have been defined on each component (as defined in the Configurator Designer). This results in a refined
version of the base Method of Manufacture. Refer to Wavy Rider Products in the Configurator in Action
section for a detailed example of how this is set up for a complex product.
The Super BOM is easier to setup initially, but the Template BOM is easier to expand and maintain over the
long-term. For small-scale configurations, use of the Super BOM is recommended, while for all other configurations,
use of the Template BOM is recommended. Refer to the Super BOMs and Template BOMs topic in the
Implementation Components and Calculations section for detailed information.

Epicor ERP | 9.05.702 59


Implementation Components and Calculations Configurator Technical Reference Guide

Programs and Their Modifiers

Engineering Workbench
This tool allows you to create methods of manufacturing for part revisions. The methods can be defined as
templates. They can be used later by the jobs that will produce the parts engineered through this tool.

Menu Path
Navigate to this program from the Main Menu:
• Production Management > Engineering > General Operations > Engineering Workbench

Part Maintenance
The Engineering Workbench can also be launched from Part Maintenance. Refer to Assemblies and
Subassemblies for details on how to launch it from the Main Menu.
From the Actions menu in Part Maintenance, select the Revision option and then select Engineering Workbench.
When in the Engineering Workbench, click Method of Manufacturing. These are the other values you can
modify for this item:
• Assembly - Each of these items defines a specific step, or component, on a job or quote method that will
produce each material quantity required to make the final part quantity. A method can have one assembly
or multiple assemblies. An assembly can contain one or more subassemblies and a subassembly can become
a parent assembly by containing one or more subassemblies. This hierarchy lets you engineer part methods
of manufacturing that are as simple or as complex as you need. You can create a method that details the
entire production flow of a part by creating assemblies and sub-assemblies. Also, you can create a method
that references component parts as materials. Each assembly has its own number and material requirements.
A parent assembly is any assembly that is made up of one or more child subassemblies. Parent assemblies
are used to determine the correct manufacturing hierarchy of the operations defined for the job.
• Operation -These items define the various processes your company uses to manufacture products. Operations
are manufacturing actions like Welding, Painting and Engineering. There are two types of operations - those
you perform within your company, and those that you subcontract out to an outside supplier. Refer to the
Operations section more details.
• Materials - Unlike the conventional method of part definition, the method of manufacturing that is defined
for a configured part revision contains all component parts that could possibly be included to manufacture
the configured part, regardless of the actual selected configuration options.
Placeholder parts can be used for components and then substituted with actual parts, based on the rules
defined for the configuration, and the options selected when creating a quote, sales order, job order, purchase
order or demand order. This is true for assemblies, subassembly (subconfigurators) and operations as well.
Note For information on how to define subconfigurator placeholders "swaps" in a multi-company
environment, refer to Creating Subconfigurator Part Swaps in a Multi-Company Configurator
Environment.

Logic/Algorithms

When a quote or job is created for a standard, non-configured part, it creates the Method of Manufacture on
the job or quote as it has been defined in the Engineering Workbench. With a configured part, it uses the Method
of Manufacture that was defined in Engineering Workbench for the configured part, but as it retrieves each
component (for example, assembly, material, operation), it processes any Set Field rules, Keep When rules, and
rule functions that may have been defined for that specific component in the Configurator Designer.
If a Keep When rule is returned false, the component won't be included on the quote or job.

60 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Example

Wavy Rider Products builds pontoon boats with various combinations of lengths, models, colors, seating, electronics
and other options. The number of combinations could reach into the thousands and assigning a model (part)
number to each combination would be difficult, especially for those combinations that appear infrequently, if
ever.
Rather than defining unique part numbers and bill of materials, you create a Method of Manufacture for the
universal part that contains all conceivable components and operations. The Configurator then selects/subtracts
the appropriate materials and operations comprise the manufacturing item for that particular quote, sales order,
job order, purchase order or demand order. It performs this task based on user input when the base part is
actually configured during quote, sales order or job order creation, and through the application of Keep When
rules. Refer to Use of Rules Types in Rules Processing for more details.
In the case of Wavy Rider Products, they have elected to create a single universal part number "CFGPontoon"
part that acts as a "placeholder" for subsequent selection of the boat model, based on its intended use. The
Method of Manufacture for this single part number includes all materials and operations required to build all of
their models, including:
• Install Tubes
• Install Cross Members
• Square Deck
• Install Plywood Decking
• Install Walls
• Install Furniture
• Install Mooring Covers
• Install engines, helm seating, steering/navigation and electronics.

Assemblies and Subassemblies (Materials)

An assembly defines a specific step, or component, on a job or quote method that produces each material
required to make the final configured part. A method can have one assembly or multiple assemblies.
An assembly can also contain one or more subassemblies and a subassembly can become a parent assembly by
containing one or more subassemblies. This hierarchy lets you engineer part methods of manufacturing that are
as simple or as complex as you need.
Each assembly has its own number and material requirements. A parent assembly is any assembly that is made
up of one or more child subassemblies. Parent assemblies are used by the engine to determine the correct
manufacturing hierarchy of the operations defined for the job.
If a part, job, or quote method does not have subassemblies, only one parent assembly is needed for the production
part quantity. If a part requires several assembles, however, there can be as many parent assemblies as needed.
Each tier on a complex method is typically called a level within the manufacturing hierarchy.
One reason to create multiple parent assembly levels is to let the engine concurrently schedule these assemblies.
Each parent assembly typically contains operations and subassemblies that are unique for that area of the method
of manufacturing. If an assembly can run at the same time (concurrently) as another assembly they are considered
peer assemblies.
A subassembly defines a specific step, or component, within a parent assembly. Each parent assembly can have
one or more subassemblies. Each subassembly can also contain one or more subassemblies, which causes the
subassembly to become a parent assembly as well. This hierarchy lets you engineer as simple or as complex part

Epicor ERP | 9.05.702 61


Implementation Components and Calculations Configurator Technical Reference Guide

methods of manufacturing as you need. Parent assemblies typically contain operations or subassemblies that are
unique for their area of the method of manufacturing.

Programs and Their Modifiers

Engineering Workbench
This tool allows you to create methods of manufacturing for part revisions. The methods can be defined as
templates. They can be used later by the jobs that will produce the parts engineered through this tool.

Menu Path
Navigate to this program from the Main Menu:
• Production Management > Engineering > General Operations > Engineering Workbench

Part Maintenance
The Engineering Workbench can also be launched from Part Maintenance.

Menu Path
Navigate to this program from the Main Menu:
• Material Management > Inventory Management > Setup > Part
• Material Management > Purchase Contracts Management > Setup > Part
• Material Management > Purchase Management > Setup > Part
• Material Management > Supplier Relationship Management > Setup > Part
• Production Management > Engineering > Setup > Part
• Production Management > Job Management > Setup > Part
• Production Management > Material Requirements Planning > Setup > Part
• Production Management > Quality Assurance > Setup > Part
• Sales Management > Configurator Management > Setup > Part
• Sales Management > Demand Management > Setup > Part
• Sales Management > Order Management > Setup > Part
• Service Management > Field Service > Setup > Part
• System Management > Distribution Vertical > Distribution Proof of Concepts > Gift Cards > Gift Card - Item
• System Management > Distribution Vertical > Inventory > Item with Attributes
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > Setup > Part
• Customer Relationship Management > Demand Management > Setup > Part
• Customer Relationship Management > Order Management > Setup > Part

62 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

From the Actions menu, select the Revision option and then select Engineering Workbench. When in the
Engineering Workbench, click Method of Manufacture. Refer to the online Help and the Method of
Manufacture section of this document for more details.

Example

This is a partial material listing for the pontoon boat models manufactured by Wavy Rider Products:
• Fabricated tubing, cross members and plywood decking that comprise major structural subassemblies.
• Rudders and navigational subassemblies.
• Engines, helm seating, electronic subassemblies purchased from external suppliers.

Operations

Operations define the processes your company uses to manufacture a product. They are manufacturing tasks
like Welding, Painting, Cutting, Stamping and Bending.
There are two types of operations: in-house operations you perform through your company and subcontract
operations you send out to an outside supplier. When defining the Method of Manufacture routing content for
a configured part, it contains:
• All operations that could possibly be included to manufacture the configured part, regardless of the actual
selected configuration options.
• Placeholders can also be used for operations. They can be defined as a "generic" operation and added to the
Method of Manufacture for the configured part. A Set Field rule can also be added to this generic operation
in the Configurator Designer that replaces the generic operation with a valid operation, depending on the
responses entered during the actual configuration process in Order Entry, Opportunity/Quote Entry, Purchase
Order Entry, Job Entry, Purchase Order Entry or Demand Entry.

Resources
You set up the primary values for an operation within the Operation Maintenance program. Use this program
to define the default resources, resource groups, and capabilities that are needed to run the operation. One or
more resources are required for each operation.
When you engineer the job method, you indicate how the resources will interact with each other. For example,
to run a Cutting operation, you need a Fly Cutter resource. This resource is defined on the Operation Detail
within the job method. The operation also requires a Block resource, so you create a second Operation Detail.
Lastly, the Cutting operation requires an End Mill resource, so you create a third Operation Detail.

Capabilities
Operations can also be linked to a capability. A capability is a skill or ability that a resource can possess. When
an operation (or an operation standard selected on the operation) has an associated capability, the scheduling
engine searches for resources that share the capability. If a resource has available capacity, the resource is selected
for the operation. In the case where multiple operations are competing for the same resource, the scheduling
engine will place the operation load against the resource with the highest priority, then the next highest priority.
Note that capabilities and resource groups can be combined on an Operation Detail. Linking capabilities to
resource groups causes the engine to schedule only the resources that share a capability within the selected
group. Thus, it restricts the options that the scheduling engine can use for this capability.

Epicor ERP | 9.05.702 63


Implementation Components and Calculations Configurator Technical Reference Guide

Operation Time
Several values that affect how the scheduling engine calculates each operation are defined on the Operation >
Details sheets within the job method. These sheets let you define the Setup Time, Production Time, and
Scheduling Blocks required for an operation at a specific point within the method. Also, you can define the
Production Standard, such as Pieces/Hour and Hours/Piece, that the operation follows. You can also add or
update the default resources, resource groups, and capabilities used to run the operation.
How long each operation takes to complete depends on the values you define for its Queue Time, Setup Time,
Production Time, and Move Time. Queue Time and Move Time are defined on the resource group or resource
that is assigned to the operation. The sum of these four values indicates how long it will take to complete an
operation.

Operation Relationships
Operations do not need to be processed in linear relationships (one after the other). You can define more complex
relationships within each assembly. The first operation (predecessor) can have a Start-To-Start, Finish-To-Start,
and Start-To-Finish relationship with the operation that follows it (successor). These relationships affect how
the scheduling engine calculates each operation's start and end dates and times; choosing a relationship save
time in the schedule. See the Primary Calculations and Values section for a more detailed exploration of
operation relationships.
Tip The JobOper and JobOprDtls table contain the information for each operation within a job method.

Programs and Their Modifiers

Engineering Workbench
This tool allows you to create methods of manufacturing for part revisions. The methods can be defined as
templates. They can be used later by the jobs that will produce the parts engineered through this tool.

Menu Path
Navigate to this program from the Main Menu:
• Production Management > Engineering > General Operations > Engineering Workbench

Part Maintenance

The Engineering Workbench can also be launched from Part Maintenance. Refer to Assemblies and
Subassemblies for details on how to launch it from the Main Menu.
From the Actions menu, select Revision and then select Engineering Workbench. When in the Engineering
Workbench, click Method of Manufacture. The processing of standard and configured parts is the same - no
special logic or algorithms are used for configured parts.

Example

This is a listing of some of the operations Wavy Rider Products must perform to build their pontoon boat models:
• Install Tubes
• Install Cross Members
• Square Deck
• Install Plywood Decking
• Install Walls

64 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Install Furniture
• Install Mooring Covers
• Install Motor

Resources and Resource Groups

A resource is a physical facility or an asset or an employee within your manufacturing center that performs a
specific function such as producing parts. The facility might have one or more locations that contain the machines
and skill sets used to manufacture parts.
A resource can be a physical piece of equipment (like a punch press, drilling machine), a fixture (like a tool or
gauge) that is required to measure various parts, or it can also be an employee (like a setter, operator, and cutter).
These locations and skills sets are the resources and resource groups that are linked to the plant. Each plant
must have at least one warehouse that is used to stock and distribute parts. A warehouse does not need to be
unique to each plant; warehouses can be shared with several plants.
• Also, each part can be linked to multiple plants. Either the part is produced within the plant (a manufactured
part) or it is used at that plant (a purchased part). The Configurator considers the On-Hand Quantity available
for each part as the total sum of the quantities in all warehouses linked to the plant. If a warehouse is shared
by two or more plants, the material in the warehouse is considered available in all plants that share the
warehouse.
• Each resource must exist within a resource group. Resource groups contain one or more related resources;
use these groups to define specific work areas within your manufacturing center. A resource group can contain
the machines used for a specific function, any tools used to measure parts manufactured from these machines,
and the operators who run both the machines and tools. Resource groups also support the concept of
manufacturing cells, which are collections of different resources that act as independent production units
within your manufacturing center.
• A resource group can hold default values used on all resources in the group. However, each resource can also
have its own set of values that are independent from the resource group values. If you define these factors
at the resource group level, these factors are applied uniformly across all the resources contained in the group.
• In certain situations, you might want one resource be dependent on another resource. For example, this is
the case when you want to indicate that the Drill Machine is available only when the Drill Machine Operator
is also available. You indicate this on the job method by adding both resources to an operation detail.

Capabilities
Capabilities and resource groups can be combined within an operation detail. This link causes the engine to
schedule the only resources that share a capability within the selected group. It restricts the options that the
scheduling engine can use for this capability.

Resource Impact
Resources have a large impact on when Start Dates and End Dates are calculated for each job. If a calendar is
selected on the resource, it determines which working days and hours the resource will be available. A resource's
Queue Time defines how long a part quantity must wait at the resource before it is produced. A resource's Move
Time defines how long a completed part quantity must wait before it is moved to the next operation. All of these
factors are used together to determine the final job schedule.

Epicor ERP | 9.05.702 65


Implementation Components and Calculations Configurator Technical Reference Guide

Configurator Designer

The Configurator Designer is the focal point for defining the configuration process for a specific part revision.
Once the Method of Manufacture has been defined for the selected revision, you then use the Configurator
Designer to define a structured configuration process used by data entry personnel to configure the base part
number and revision in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry.
For example, you can define a configuration process for Revision B that differs from the one developed for Revision
A for the same part.
The Configurator Designer contains the following tabs/sheets; refer to the Application Help and associated topics
in the Primary Components and Calculations section of this document for more details on each tab/sheet:
• Part/Rev - Use to select the part revision for which the configuration process is being defined.
• Status - Use to review a log of configuration design changes, and for approving or unapproving the
configuration design.
• Input Rules - Use the sheets located under the Input Rules tab to define the actual Input Page that displays
when the part is configured in Order Entry, Opportunity/Quote Entry, Job Entry, Purchase Order Entry or
Demand Entry. This includes anything that requires configuration for of the universal part. For example, if the
part is a picture frame, you would create inputs for width, height, material, and color.
This tab includes sheets that you use to specify input detail parameters, input page behavior (including
associated Prompt When and On Leave rules), page comments, dynamic lists, part / Smart String creation
parameters, quote/order/purchase/demand order pricing and document rules.
• Structure Rules - Use the sheets located under the Structure Rules tab to build the structure of configurable
subcomponents. This structure is necessary to determine which other configurators must be present in the

66 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Sales company in order to collect all the required inputs for the Manufacturing company. Structure rules are
also required for component pricing; if component pricing is used, each component affecting the pricing must
be listed in the Structure rules.
Structure rules can only be defined for configured parts for which the Enterprise Configurator check box
has been selected in the Status sheet. They cannot be used when the Configurator is being operated in a
single company (that is the configuration is being designed in the same company database in which the
configured part is being sold and manufactured).
• Method Rules - Use the sheets located under the Input Rules tab to specify how a method of manufacturing
should be created for use in producing a part configured in a Sales company. Method rules include Keep
When Rules that determine the specific material content, and designate what components and operations
should be included when the configured part is manufactured. The Epicor application does not export
manufacturing (method) rules or the method of manufacture at the time of configurator synchronization to
the external Sales companies in which configurations have been created (when a quote, order or job is initially
entered).
• Smart String - Smart String processing can be defined for the configurator being designed. When you use
this functionality, the Epicor application displays a dialog box during an actual configuration session (invoked
from Order Entry, Opportunity/Quote Entry, Job Entry, Purchase Order Entry or Demand Entry), prompting
for entry of a Smart String value. It then attempts to process and load all associated configuration input values
from the supplied string. In order for this to operate properly, you must designate the starting and ending
values for Smart Strings configuration entries.
Configurator Comments - Use as needed to enter free-form comment text for the configurator being
defined. This allows you to document such topics as the purpose for the configuration, where external files
can be found and other related information. The Configurator Designer contains several comment sheets that
allow you to document formulas used when creating the rules, inputs and pricing options. By adding comment
fields, you are less dependent on external documents, spreadsheets, employees or consultants who initially
built the configurator but are no longer available for advice.
Refer to Use of Configuration Rules and Use of Rules Types in Rules Processing for more details on each
type of configuration rule that can be defined in the Configurator Designer.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.

Epicor ERP | 9.05.702 67


Implementation Components and Calculations Configurator Technical Reference Guide

To create a new configuration in the Configurator Designer, a revision number must exist for the part. If one
does not already exist for the part, you must first create a new revision in the Revisions sheet.
• After creating the revision, specifying a Method of Manufacture in the Engineering Workbench, you then
approve the revision by selecting the check box next to the Not Approved indicator in the Revision sheet.
• To access the Configurator Designer, you must then unapprove the revision by clearing the check box next
to the Approved indicator.
• Whenever you wish to modify the configuration process for a part and revision, you must first unapprove the
revision to gain access to the Configurator Designer. From the Actions menu, select Revision, and then
select Product Configurator.
• Alternately, if multiple revisions already exist for the part, you can use the Part/Rev sheet when you are in the
Configurator Designer sheet to select the specific revision for which a configuration process is being defined.
Refer to the online Help and associated topics in the Primary Components and Calculations section of this
document for more details on each tab/sheet in the Configurator Designer.

Part/Rev

If multiple revisions have already been created for a part in the Revisions sheet in Part Maintenance, use the
Configurator Designer > Part/Rev sheet to select the specific part revision for which the configuration process is
being defined or modified. For example, you can define a configuration process for Revision B that differs from
the one developed for Revision A for the same part. Refer to Method of Manufacture, Part / Part Revision
and Configurator Designer for more details.

68 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu. These
are the values you can modify for the item:
• Parts Revision - This section of the sheet displays all of the revision numbers that have already been defined
for the part; select the specific revision for which a configuration process is being defined. Refer to the online
Help for more details.

Logic/Algorithms

If multiple revisions have been created for the same configured part number, all revisions display for the part in
the Part Revisions grid. The selection made in this grid determines the exact revision number for which the
configuration is being defined.

Example

Wavy Rider Products originally defined the configuration process for their pontoon boat models (Revision A) in
early 2008. Since their pontoon boat model line is undergoing significant redesign for 2008, they have created
Revision B.
When they design the configuration process for their 2008 product line, they select Revision B in the Part/Rev
sheet in the Configurator and then select New Configuration from the File menu. Any pages, inputs, or rules
that are added are then linked to this newly selected revision number.

Using Configuration Rules (Single Company)

The Configurator module makes extensive use of rules that you define during the initial configuration definition
phase:
• Input Rules, including Dynamic Lists and Document Rules, that are defined in the Input Rules tab and
accompanying sheets.
• Method Rules that are defined in the Method Rules tab and accompanying sheets.

Epicor ERP | 9.05.702 69


Implementation Components and Calculations Configurator Technical Reference Guide

• Structure Rules (Multi -Company only) that are defined in the Structure Rules tab and accompanying sheets.
When you define individual rules for use in Configurator processing, you specify what Boolean logic-based rule
type (and accompanying logic) is being employed in the rule. For example, for Method rules, you use the Keep
When rule type to determine the specific material content, and designate what components and operations
should be included when the configured part is manufactured. Note that the specific rules types that can be
selected for use vary according to the kind of rule (Document, Method or Structure) being defined; only selected
rule types are available for use with each kind of rule. Refer to Use of Rules Types in Rules Processing for
more details on how to define rules in the Epicor application.

Input and Document Rules

Input Rules, entered into the Input Rules tab and accompanying sheets in the Configurator Designer can be
used to define configuration pages, input page parameters, Prompt When rules, On Leave expressions, inputs,
configuration par and pricing parameters for the configurator.
They also include Document rules that allow for automatic updating of the source documents (quotes, sales
orders, job orders, purchase orders or demand orders) that initiate production of a configured item. For instance,
based on syntax defined in Document rules, you can automatically update the description of the sales order line,
based on the components selected for the configured item. By separating the Document rules from the
manufacturing (Method) rules, the Epicor application can execute them without the need to run the Get Details
process in Quote Entry or Job Entry.

Method Rules

Method Rules, entered into the Method Rules tab and accompanying sheets in the Configurator Designer,
specify how a method of manufacturing should be created for use in producing a part configured in a Sales
company. Method rules include Keep When Rules that determine the specific material content, and designate
what components and operations should be included when the configured part is manufactured.
The Epicor application does not export manufacturing (method) rules or the method of manufacture at the time
of configurator synchronization to the external Sales companies in which configurations have been created (when
a quote, order, job order, purchase order or demand order is initially entered).
By separating the manufacturing rules and the Method of Manufacture from the other rules, synchronization of
the method of manufacture for a configured part is not required between the Manufacturing company and
external Sales companies. This allows you to protect proprietary product information from potential distribution
to unwanted parties.

Using Tag Lineage to Define Multiple Method Rules for the Same Part
Using tag lineage (rule tags), you can apply differing method rules against a part number (for example, same
sub-level component) that occurs multiple times in a configuration. This is an optional feature in the Configurator
Designer; you do not have to use it if it does not apply in your operations.
• You accomplish this through the use of rule tags applied to components in the Engineering Workbench, and
then by using the tagged references when defining method rules for a product configuration in the Configurator
Designer. For example, if a Component A contains Subcomponent B, and Subcomponent B contains Material
C, it is possible for Component A to occur multiple times in the bill of materials record, and have different
rules for Material C applied at each occurrence.
• When adding material parts to a bill of materials, the Rule Tag field can be used in the Engineering Workbench
- Method of Manufacturing - Materials - Detail sheet to uniquely identify different occurrences of the same
part that appears multiple times in a method of manufacture.
Referring to the following graphic of the Method panel in the Method Rules - Method sheet, part 8400S-611
occurs multiple times in this method of manufacture - each occurrence can be tagged individually (for example,

70 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

T1, T2) for application of unique Method rules defined for each separate rules tag. Keep When rules can then
be defined based on the assigned rule tags to handle each part occurrence differently under different circumstances.

The Epicor application uses this rule tag when creating and processing rules that may be defined under this
material. Method rules are based on the part material method structure, which is a duplicate of the engineering
method. The part material method structure is single level; sub-levels are available by reference. If Product A has
a Subcomponent B which has a Material C then C is actually not part of the method of Product A. C is part of
the method of B and B is part of the method of A.

Selecting a Configured Part

Many of the sheets in the Configurator Designer contain an labeled part selection field (displayed in the tool bar)
you use to select the specific configured part being used in that sheet. For example, if you are using the Method
Rules > Method sheet to add a new method rule, you use this field to select the part for which the method rule
is being defined.

To select a configured part:

Tip For part to appear in this list, it must be designated as a non-stock part in the Part Maintenance > Part
> Details sheet, a revision number must exist for the part, and a method of manufacture must have been
defined (with at least one assigned material sequence or operation) for the part/revision number in the
Engineering Workbench.

Epicor ERP | 9.05.702 71


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Page / Design Toolbox

Use the Configurator Designer > Input Rules > Page sheet to design the input pages that display when a
user configures the universal part/revision in Order Entry, Opportunity/Quote Entry, Job Entry, Purchase Order
Entry or Demand Entry. It displays as a blank canvas that you use, in conjunction with a Design Toolbox, to
design the appearance of the configuration input page used in those programs.
• The Design Tool Box is a vertical menu with buttons you use to place specific types of controls on a configurator
input page; the default is a pointer that you use to select a field for edit or deletion. It can also be used to
move other controls on the input page being designed. The other controls include labels, check boxes, combo
boxes, radio sets, and data entry fields (including date, fixed character, decimal/numeric, and browser).
• These design inputs are anything that the user should specify, or needs to create a custom configuration for
the universal part. For example, if the configured part is a picture frame, you can establish inputs that specify
width, height, material, and color. The operator then enters this information upon creation of an order, quote,
job, purchase order or demand order.
• Use the Input Rules > Page sheet and Design Toolbox in conjunction with the Input Rules > Page Detail and
Input Rules > Inputs > Detail sheets. The Input Rules > Page Detail sheet defines the manner in which the
input page itself should operate, while the Inputs sheet defines the manner in which each of the attributes
and controls that have been placed on the input page should operate. As you select a control from the Design
Toolbox and place it on the Input Rules > Page sheet, click the Input Rules > Inputs > Detail sheet to define
the attributes of the control itself. Refer to the Input Rules > Inputs > Detail and Input Rules > Page Detail
topics for more details.
• In general, the general layout of the input page should be completed in the Input Rules > Page sheet prior
to defining the operational parameters for each input control using the Input Rules > Inputs > Detail sheet.

72 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

It is easier to define the logic that applies to each input when the layout of the input page itself can be easily
viewed while in the input controls definition phase.
When you define and place input controls on a page, you can use the Multi-Select Controls feature as needed
to select and reposition multiple configuration controls on the Input Rules > Page sheet.
• To select all of the controls, or a batch of controls that are next to each other, use your mouse to draw a
rectangle around them, and then drag and reposition them to their new position.
• To select multiple individual controls that are not next to each other, hold down the CTRL key as you select
each one, and then drag them to their new position.
• When you finish, click Save on the Standard toolbar.

Programs and Their Modifiers

Part Maintenance
The Configurator Designer sheet can be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Select the Input Rules > Page sheet. From the Actions menu, select Design Toolbox, and then select the
applicable choice for the input page. Stretch and size the control, based on its desired location and size. After
selecting the type of control, click the portion of the Input page on which the control should appear.
• Pointer - Use to select a field for edit or deletion, and can also be used to move other controls on the input
page being designed. This is the default button.
• Label - Use to attach a text label to an input field.
• Character - Use to place a field on the input sheet that prompts for entry of a fixed length, single-line character
string. These fields can be used for easy comparison of character strings in calculations and Keep When rules.
• Date - Use to place a field on the input sheet that requires entry of a date.
• Decimal - Use to place a field on the input sheet that requires entry of numeric data that may or may not
contain decimal places. This control is used for both decimal and integer (whole number) values.
• Check Box - Use to place a check box on the input sheet that prompts for Yes/No conditions; if the check
box selected during a configuration session, the condition is considered true.
• Editor - Use to place a multi-line field that allows entry of free-form text such as comments or memos.
• Combo Box - Use to place a drop-down field on the input page that prompts for a selection from a choice
from pre-defined options.
• Rectangle - Use to draw rectangles on the input page; this is useful for separating groups of fields or for
outlining regions of the window. Rectangles provide the sheet with a neat, organized look. You can also use

Epicor ERP | 9.05.702 73


Implementation Components and Calculations Configurator Technical Reference Guide

this control to draw a very thin rectangle, to serve as a straight line, such as a partition between sections of
the window. The Configurator considers a line to be a rectangle with zero width or zero height.
• Radio Set - Use to place a set of "radio buttons", or a character field with a small number of possible values,
on the input page; it then allows for selection of one and only one of a series of choices from the entire set
of displayed values. If the choice is between mutually exclusive items (for example, Domestic or Imported),
use a radio set.
• Browser - Use to place a character field that can be used to link to and display a specific web page.

Input Rules > Inputs > Detail

Use the Input Rules > Inputs > Detail sheet in conjunction with the Input Rules > Page sheet and Design Toolbox
to define the manner in which attributes and controls that have been placed on the input page should operate.
The attributes determine the display information about an input or field: the name, type, format, and necessary
conditions for an input. Prompt When and On Leave expressions can also be defined for each control. Refer to
Input Rules > Inputs > Prompt When and Input Rules > Inputs > On Leave for more details.
When you add specific controls to an input page being designed in the Input Rules > Page sheet, the Epicor
application sets certain field defaults in the Input Rules > Inputs > Detail sheet for the control type that is being
added. It also assigns a temporary input name (for example FILLIN1) that can be changed in the Input Rules >
Inputs > Detail sheet prior to saving the record. Once the record is saved, the input name field cannot be changed.
• The Epicor application also automatically populates the X and Y fields in the Input Rules > Inputs > Detail
sheet with the correct horizontal/vertical placement coordinates, depending on where the control was placed
on the input page. If the control is moved in the Input Rules > Page sheet using the control handles, the Epicor

74 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

application automatically updates the X and Y fields in the Input Rules > Inputs > Detail sheet with the new
location of the control (horizontal/vertical placement coordinates).
• It also sets the default value in the Input Rules > Inputs > Detail sheet for the size of the control, depending
on the type of control that is being added. If the height or width of the control is updated in the Input Rules
> Page sheet using the control handles, the Epicor application automatically updates the Height or Width
fields in the Input Rules > Inputs > Detail sheet with the new sizes for the control.
To test the inputs once you have defined all controls on the input page, select Test Inputs from the Actions
menu. This launches a separate instance of the input page where you can test the inputs you just established.

Programs and Their Modifiers

Part Maintenance
The Configurator Designer sheet can be accessed from the Revisions Sheet in Part Maintenance. Refer to Assemblies
and Subassemblies for details on how to launch Part Maintenance from the Main Menu.

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Select the Input Rules > Page sheet. From the Actions menu, select Design Toolbox, and then select the
applicable choice for the input page. As you select a control from the Design Toolbox and place it on the Input
Rules > Page sheet, click the Input sheet to define the attributes of the control itself.
The following values in the Input Rules > Inputs > Detail sheet are common to most of the controls if you choose
to use the Input Rules > Inputs > Detail sheet independently of the Input Rules > Page sheet. This means that
you wish to define the control in the Input Rules > Inputs > Detail page without first selecting and placing it in
the Inputs Page sheet before defining the control:
• Page - Indicates the page number that contains this input control. When you place a new input control on
an input page using the Design Toolbox, the Epicor application automatically updates this field. For example,
if the input control was placed on Input Page 2, 2 appears in this field. If you wish to move an existing control
to another input page, enter the page number into this field. For example, if the input control was originally
placed on Input Page 2, but you wish to move it to Input Page 3, change the display page number from 2 to
3 in this field. The Epicor application then moves the input control to the designated page and displays the
change in the Tree view.
• Input Name - Enter a unique internal name for this field/control; it is used to identifying the field when
creating rules or when setting up input-based pricing.
• The input name itself is not displayed to the user during an actual configuration session in Order Entry,
Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry. Refer to Use of Rules Types in
Rules Processing and Input Rules > Pricing for more details.
• If you accessed the Input Rules > Inputs > Detail sheet after placing the control in the Input Rules > Page
sheet, this is a display-only field. When you place the control on the input page, you can access the Input

Epicor ERP | 9.05.702 75


Implementation Components and Calculations Configurator Technical Reference Guide

Detail sheet and change the input name field. However, once the record has been saved, you are no longer
able to change it.
• A good business practice is to adhere to a standard naming convention to keep track of inputs. For example,
preface Global input names with the letter g and variables that are not intended to be global be prefaced
with a letter other than g.
• It is also a good idea to use the Input Rules > Input Comments sheet to document the purpose of the field,
and alternately, use a separate spreadsheet to list all inputs, stating the configuration, intent, and field
label. You can then attach the spreadsheet by clicking the configuration in the Tree View pane of the
Configurator Designer. This opens a context-sensitive menu containing an Add New Attachment selection
that allows for attachment of the document to the configuration. Configuration attachments only appear
in the Configurator Designer and the Configurator Tracker.

• Web Input Name - Enter the internal name of the input control field as used by the Web Configurator. It
can be the same as previously entered into the Input Name field. If you accessed the Input Rules > Inputs >
Detail sheet after placing the control in the Input Rules > Page sheet, this is a display-only field. When you
place the control on the input page, you can access the Input Detail sheet and change the input name field.
However, once the record has been saved, you are no longer able to change it.
• Label - Enter the literal text that appears next to this field on the input page.
• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.
• Required - Select this check box if this is a required field. The user must enter a value into the input during
an actual configuration session.
• Global - Select this check box if the traits specified for the configuration entry for this field are global for an
entire quote, order, purchase order or demand order. It would be selected if a trait (like a color) that applies
to the first line is the default for all subsequent lines. In this scenario, when the user enters a value into this
field while configuring the part in Order Entry, Opportunity/Quote Entry, Purchase Order Entry or Demand
Entry, a dialog appears asking if you would like to apply this value across all detail lines.
• Global Input Variable (check box) - Select this check box if the value entered in this input control during
an actual configuration session should also update the value of the global input variable selected in the Global
Variable Name combo box (below).
• If selected, the Epicor application passes this value throughout a single configuration session for an order
line, quote line, purchase order line, job or demand order line; it is made available to lower subassemblies
or parts that are defined in the parent BOM that are also being configured during the same configuration
session. It is useful if you want to express a lower-level input in terms of a top-level input or another
lower-level input.
• If a configured part is added as a subassembly of another configured part, this check box allows "passing
down" of the input value of a top-level configuration for use in the configuration of the lower-level
configuration. It can also be used to pass a value throughout the entire configuration, or between two
lower-level subassemblies. For example, a global input variable doesn't necessarily have to be assigned at
the top-level; it could simply be selected and used on two subassembly configured parts, and the values
could be passed between the two subassemblies themselves.
• The input for the top-level configured part displays as a selectable input when creating On Leave, Prompt
When, or Rule expressions on the lower-level configured parts.
• Note that if the same global input variable has also selected in the Global Variable Name checkbox of
a lower-level configurations input, the Epicor application updates the input (for the corresponding lower-level
configuration) with the value that has already been assigned to the global variable from the previous
top-level configuration. The value that is assigned to this selected global variable stays consistent throughout
a single configuration session.
• If the value is changed on the top-level or a lower-level configured part, the value also changes for any
other configured parts for which this same global variable has been selected. This occurs within a single
configuration session for a specific quote line, order line, job order, purchase order line or demand order

76 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

line - this value does not pass across different line items on the same order, quote, job order, purchase
order line or demand order line.
• Global Variable Name - If the Global Input Variable check box was selected, specify the corresponding
global input variable that the Epicor application updates when the value of this input control is changed
during a single configuration session. The selections that display are those that have been defined using
the Global Input Variables selection on the Actions menu.
• It only displays selections that have the same data type as the current input. For example, if the current
input control is a Logical input, only logical global input variables selections are displayed.
• If a global input variable was defined that has the same name as one of the inputs for the current
configuration, it does not display as one of the selections in this field (it does not allow duplicate input
name and global variable names for the same configured part). Refer the Global Input Variables topic
for more details.

• Position and Sizing Fields (X, Y, Width and Height) - These fields allows you to enter parameters that
control the precise placement and sizing of the control.
• The X and Y fields can be used to specify the X and Y coordinates, allowing you to precisely place the
control vertically and horizontally on the input page; they can be used in lieu of using the pointer to
drag/drop the control in the Input Rules > Page sheet.
• The Width and Height fields allow you to specify, in pixels, the width and height of the control.

• Tab Order - Enter the tab order number that determines the order in which the cursor moves through the
input fields when the Tab key is used. By default, the tab order number default is the order in which the fields
are entered on the input page. The higher the number entered into the field indicates that depth into which
the field appears in the Tab order. Read-only fields should not have a tab value.
• Tool Tip - Enter the literal text that should appear during a configuration session when the mouse moves
over the control being defined. For example, Enter the text for the tool tip.
• Invisible - Select this check box if the control being defined should not be displayed on the input page during
a configuration session. Clear the check box if the control being defined should be display on the input page
during a configuration session, and in the designer itself.
• Don't Display Input in Configuration Summary Grid - The Configuration Summary page can be viewed
by clicking a Configuration button after configuring a part during a configuration session in Opportunity/Quote
Entry, Order Entry, Purchase Order Entry, Job Entry or Demand Entry. It displays a summary of the inputs and
input values (selections) that were entered for the configuration. Select this check box if the control being
defined should not be displayed in the Configuration Summary grid during the reconfiguration of a part.
The following values in the Detail sheet appear only for the associated input control that was selected in the
Design Toolbox; they are unique to that control and can be modified:

Epicor ERP | 9.05.702 77


Implementation Components and Calculations Configurator Technical Reference Guide

Browser

• Initial Value - Enter the default URL (if any) for the field (for example, http://epicor.com). This is an optional
field; leave it blank if you do not want a default value to display in this field during an actual configuration
session.
Note If needed, you can alternately enter a path to a file location (for example, c:nn/nnnn) on the
local disk rather than a URL. However, in order for Epicor Web Access (EWA) to operate properly, the
local file should also be copied into the Resources/User/Files folder on the EWA site.

• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.
These are the Dynamic field properties you can assign to a Browser control. Refer to the Expression Builder
Functions section for more details on each:
• FieldHeight
• FieldInitialValue
• FieldInvisible
• FieldRequired
• FieldSummaryLabel
• FieldToolTip
• FieldWidth
• FieldXPosition
• FieldYPosition

78 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Character Field

These are the values you can modify for this type of control:
• Format - Click Format to access the Character Format window to specify the acceptable character format
for this field. In the Character Format window, use the Length field to specify the number of allowable
characters that can be entered into the field during a configuration session, and then select one of the following
character formats:
• Any Character - Any character (for example, alphanumeric, punctuation marks) can be entered.
• Letters and Numbers Only - Only alphanumeric characters can be entered.
• Letters Only - Only alpha characters can be entered.
• Letters Only and Convert to Caps - Only upper-case alpha characters can be entered.
• Numbers Only - Only numbers can be entered (no alphanumeric characters).

• Label - Enter the literal text that appears next to this field on the input page.
• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.
• Initial Value - Enter the default value (if any) for the field (for example, ABC). This is an optional field; leave
it blank if you do not want a default value to display in this field during an actual configuration session
• Valid List - Enter a comma-separated list of valid (allowable) responses if the user must select one of a few
predetermined values. For example, enter A,B,C,D if only those values are allowable, valid entries in the field.
Do not use spaces within the list.
These are the Dynamic field properties you can assign to a Character Field control. Refer to the Expression
Builder Functions section for more details on each:
• FieldHeight
• FieldInitialValue
• FieldInvisible
• FieldLabel
• FieldRequired
• FieldSummaryLabel
• FieldToolTip
• FieldValidList

Epicor ERP | 9.05.702 79


Implementation Components and Calculations Configurator Technical Reference Guide

• FieldWidth
• FieldXPosition
• FieldYPosition

Check box

These are the values you can modify for this type of control:
• Label - Enter the literal text that appears next to this check box on the input page.
• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.
• Initial Value - Select this check box if the default value for the check box control being added to the input
page should be selected (that is, by default, the check box appears as selected). Leave it blank if you do not
want a default value to display in the check box during an actual configuration session. By default, the check
box is cleared.
These are the Dynamic field properties you can assign to a Check box control. Refer to the Expression Builder
Functions section for more details on each:
• FieldHeight
• FieldInitialValue
• FieldInvisible
• FieldLabel
• FieldSummaryLabel
• FieldToolTip
• FieldWidth
• FieldXPosition
• FieldYPosition

80 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Combo Box

These are the values you can modify for this type of control:
• Label - Enter the literal text that appears next to this combo box on the input page.
• List Items - Enter the list of fixed options that can be selected from the combo box during a configuration
session; each option must be separated by a comma delimiter with no spaces preceding each option, or
between the options themselves. Erroneous entry of spaces in this field is particularly significant when any of
the list items are selected in calculations or Keep When rules
• For example, if you are defining a Color combo box, enter Red,Blue,Green. Note that you must be careful
not to enter spaces when entering list items into this field. Spaces entered in front of the list (for example,
_Red,Blue, Green), or preceding any of the fixed options (for example, Red,_Blue, Green) display in the
combo box itself during an actual configuration Q&A session.
• To create different sets of options that are dynamic (that is, they display when certain conditions are
satisfied), use the Dynamic Lists sheet to specify the condition expressions and processing criteria. Unlike
standard combo -boxes that offer a fixed set of choices, dynamic lists present choices based on conditions
established in the Expression Builder. Refer to Input Rules > Inputs > Detail > Dynamic Lists > Detail
for more details.

• Required - Select this check box if this is a required field. The user must enter a value into the input during
an actual configuration session.
• Initial Value - Specify the default option selection (if any) for the combo box control being added (for example,
Green in the Color combo box example). This is an optional field; leave it blank if you do not want a default
option selection to display in this combo box during an actual configuration session. The initial value entered
into this field must be one of the list items that were specified in the List Items field (above).
• Show Distinct Items - Specify if the Epicor application should only display distinct input option values in the
combo box control during an actual configuration session. In this case, it eliminates any duplicate values and
only displays those input options with unique values. Duplicate input values sometimes occur when the
associated list of options has been created through a dynamic list, whether calculated from a static list or
based on running a program or a BAQ.
Select the check box to only display distinct values in the combo box control during an actual configuration
session. Clear the check box to show all input option values (unique, as well as duplicate values) in the combo
box control during an actual configuration session.
Note Combo boxes contain a field property called FieldShowDistinct; it can be used in the On Leave
code created for an configurator input or configurator page to dynamically set the Show Distinct

Epicor ERP | 9.05.702 81


Implementation Components and Calculations Configurator Technical Reference Guide

Values check box setting. It is important to note that the FieldShowDistinct field property overrides
the default setting in the Configurator Designer. If you decide to use this, note the following:

1. Using the FieldShowDistinct property together with a BAQ or Run Program dynamic list may cause
a performance impact if FieldShowDistinct is constantly changing the default value. This is because
each time the Show Distinct Values check box value is changed through use of the field property,
the Epicor application recalculates the list of items in the combo box.

2. It is important to remember that when Show Distinct Values check box is selected (True), it only
displays options where the input value and display value are unique. For example, in the following
scenario:

Value Description
A Letter A
B Letter B
C Letter C
A Letter A

In this case, it only displays the following values during a configuration session:

Value Description
A Letter A
B Letter B
C Letter C

However, in the following scenario, where some of the option descriptions have no space, the
combo box will display ALL items in a configuration session, because the combination of the value
and description are unique in each case. This applies mostly to BAQ Dynamic lists, in the case when
the combo box is populated from a list of items (for example, Item 1,Item 2,Item 3), the value
and description are always the same.

Value Description
A Letter A
B Letter B
C Letter C
A LetterA
B LetterB
C LetterC

These are the Dynamic field properties you can assign to a Combo box control. Refer to the Expression Builder
Functions section for more details on each:
• FieldInitialValue
• FieldInvisible
• FieldLabel
• FieldSummaryLabel
• FieldToolTip

82 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• FieldWidth
• FieldXPosition
• FieldYPosition

Date

These are the values you can modify for this type of control:
• Format - Click Format to access the Date Format window to select one of the following character formats:
• 99/99/99 - Two-character year, with month, date, and year delimited by slashes (for example, 12/31/08).
• 99 -99-99 - Two-character year, with month, date, and year delimited by dashes (for example, 12-31-08).
• 99.99.99 - Two-character year, with month, date, and year delimited by periods (for example, 12.31.08).
• 99/99/9999 - Four-character year, with month, date, and year delimited by slashes (for example,
12/31/2008).
• 99 -99-9999 - Four-character year, with month, date, and year delimited by dashes (for example,
12-31-2008).
• 99.99.9999 - Four-character year, with month, date, and year delimited by periods (for example,
12.31.2008).

• Label - Enter the literal text that appears next to this field on the input page.
• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.
• Initial Value - Enter the default value (if any) for the field (for example, 12-31-2008). This is an optional field;
leave it blank if you do not want a default value to display in this field during an actual configuration session.
• Minimum, Maximum - Enter a range of valid dates that can be entered into the field when the part is being
configured in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry.
• For example, enter 12 -01-2008 into the Minimum field and 12-31-2008 into the Maximum field if you
allow only allow entry of dates within the range from 12-01-2008 to 12-31-2008.
• These are optional fields; leave them blank if the dates entered during the actual configuration session do
not have to fall within a specified date range.

These are the Dynamic field properties you can assign to a Date control. Refer to the Expression Builder
Functions section for more details on each:
• FieldInitialValue

Epicor ERP | 9.05.702 83


Implementation Components and Calculations Configurator Technical Reference Guide

• FieldInvisible
• FieldLabel
• FieldMaximumDate / FieldMinimumDate
• FieldRequired
• FieldSummaryLabel
• FieldToolTip
• FieldWidth / FieldXPosition / FieldYPosition

Decimal

Use this control when you want the user to enter a decimal numeric value, even if you do not want the field to
support decimal points.These are the values you can modify for this type of control:
• Format - Click Format to access the Number Format window to select one of the following formats to use
for numeric-based input:
• Negatives - Specify how the field should use negative signs by doing one of the following:
Select Allow Positive Numbers Only to prevent entry of negative numbers.
Select Leading Sign on Negative Numbers Only to allow entry of negative numbers with a sign (-) in
front of the number.
Select Trailing Sign on Negative Numbers Only to allow entry of negative numbers with a sign (-) that
trails the number.
• Number of Digits - Specify the number of digits before the decimal point that are allowed in the field.
• Number of Decimals - Enter the number of decimal places after the decimal point that are allowed in
the field. Note that integers are not an input type themselves, but are simply decimals with zero precision.
In this case, the number of decimals would be set to zero.
• Thousands Separator - Select this check box if values with thousands (for example, 12000 or 100000)
entered into this number field should be separated with commas (for example 12,000 and 100,000).

• Label - Enter the literal text that displays next to this field on the input page.
• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.
• Initial Value - Enter the default value (if any) for the field (for example, 1.2). This is an optional field; leave
it blank if you do not want a default value to display in this field during an actual configuration session.

84 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Minimum, Maximum, Increment - Enter a starting and ending range of valid numeric responses, and an
increment value.
• For example, enter 5 into the Minimum field, 50 into the Maximum field, and 5 into the Increment
field if you allow entry of values from 5 to 50, at increments of 5 (into the numeric field being defined)
during an actual configuration session.
• These are optional fields; leave them blank if the numeric values entered during the actual configuration
session do not have to fall within a specified numeric value range.

These are the Dynamic field properties you can assign to a Decimal control. Refer to the Expression Builder
Functions section for more details on each:
• FieldIncrement
• FieldInitialValue
• FieldInvisible
• FieldLabel
• FieldMaximumDecimal
• FieldMinimumDecimal
• FieldRequired
• FieldSummaryLabel
• FieldToolTip
• FieldWidth
• FieldXPosition
• FieldYPosition

Editor

These are the values you can modify for this type of control:
• Label - Enter the literal text that appears next to this field on the input page.
• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.
• Required - Select this check box if this is a required field. The user must enter a value into the input during
an actual configuration session.
• Initial Value - Enter the default value (if any) for the field (for example, ABC). This is an optional field; leave
it blank if you do not want a default value to display in this field during an actual configuration session.

Epicor ERP | 9.05.702 85


Implementation Components and Calculations Configurator Technical Reference Guide

These are the Dynamic field properties you can assign to an Editor control. Refer to the Expression Builder
Functions section for more details on each:
• FieldHeight
• FieldInitialValue
• FieldInvisible
• FieldLabel
• FieldRequired
• FieldSummaryLabel
• FieldToolTip
• FieldWidth
• FieldXPosition
• FieldYPosition

Label

These are the values you can modify for this type of control:
• Text - Enter the literal text that appears on the label.

Radio Set

These are the values you can modify for this type of control:
• Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit.

86 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Buttons - Enter the list of option buttons from which the user can select. The user can select only one of the
radio buttons during a configuration session
• The correct syntax is Item1,A,Item2,B, Item3,C, where Item1 is the label literal that displays during a
configuration session and A is its value. The label is followed by a comma delimiter, then the value of the
entry that is actually stored in the configuration itself, with no spaces between the options.
• For example, if you are defining a Color radio set, and the actual color selection is stored in the configuration
itself, the radio button selection would be expressed as Red,Red,Blue,Blue,Green,Green.

• Horizontal - Select this check box if the radio set should be displayed horizontally in the input page. Clear
the check box if it should be displayed vertically.
• Initial Value - Enter the default value (if any) for the radio set (which option button should be selected as a
default). This is an optional field; leave it blank if you do not want a default value to appear in this field during
an actual configuration session.
These are the Dynamic field properties you can assign to a Radioset control. Refer to the Expression Builder
Functions section for more details on each:
• FieldHeight
• FieldInitialValue
• FieldInvisible
• FieldLabel
• FieldRequired
• FieldSummaryLabel
• FieldToolTip
• FieldValidList
• FieldWidth
• FieldXPosition
• FieldYPosition

Rectangle
These are the Dynamic field properties you can assign to a Rectangle control. Refer to the Expression Builder
Functions section for more details on each:
• FieldHeight
• FieldInvisible
• FieldLabel
• FieldWidth
• FieldXPosition
• FieldYPosition

Text
These are the Dynamic field properties you can assign to a Text control. Refer to the Expression Builder Functions
section for more details on each:
• FieldHeight
• FieldInvisible
• FieldLabel
• FieldWidth
• FieldXPosition / FieldYPosition

Epicor ERP | 9.05.702 87


Implementation Components and Calculations Configurator Technical Reference Guide

Global Input Variables

Global variable logic can be used to share information between parent and child configurations that are executed
in a single Q&A session for a single quote line, order line, job, purchase order line or demand order line. It allows
linking of the global variable in each configuration to a local input variable.

For example, when creating a configuration for an office cubicle that consists of the walls (panels and painted
frames), desktop and cabinet, a "Color" global input variable can be developed that allows selection of the color
when configuring the "parent" office cubicle. The selected color is then "passed down" to the associated "child"
configurations (walls, desktop and cabinet), resulting in a color-coordinated set that does not require subsequent
selection of color for each of the configured components. Refer to the Examples section below for a detailed
explanation of this cubicle color selection.

88 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

The Global Input Variable check box in the Input Rules > Inputs > Detail sheet allows you to specify if the value
entered in the input control (for example, Color) during an actual configuration Q&A session should also update
the value of the global input variable selected in the corresponding Global Variable Name combo box. This
combo box is found underneath the check box in the Input Rules > Inputs > Detail sheet.
• The combo box displays options that have been defined using the Global Input Variables selection on the
Actions menu (a graphic representation, and directions for its use appear on the following pages).
• It only displays selections that have the same data type as the input control that is currently being defined in
the Input Rules > Inputs > Detail sheet. Refer to Inputs > Detail for more information. For example, if the
current input control is a logical input, all logical global input variables selections are displayed.
• If a global input variable that was defined has the same name as one of the inputs for the current configuration,
it does not display as one of the selections in this field. It does not allow duplicate input name and global
variable names for the same configured part).
The Global Input Variable logic that is enabled using these two controls allow you to specify if the Epicor application
should pass a value entered into the specified input control throughout a single configuration session for an
order line, quote line, job, purchase order line or demand order line. This makes the value available to lower
subassemblies or parts defined in the parent BOM that are also being configured during the same configuration
session.
• It is useful if you want to express a lower-level input in terms of a top-level input, for passing a value (such
as Color) throughout the entire configuration, or between two lower-level subassemblies. If a configured part
is added as a subassembly of another configured part, this check box allows "passing down" of the input
value of a top-level configuration for use in the configuration of the lower-level configuration. It can also be
used to pass the value throughout the entire configuration. For example, a global input variable doesn't
necessarily have to be assigned at the top-level; it could simply be selected and used on two subassembly
configured parts, and the values could be passed between the two subassemblies themselves.

Epicor ERP | 9.05.702 89


Implementation Components and Calculations Configurator Technical Reference Guide

• The input for the top-level configured part displays as a selectable input when creating On Leave, Prompt
When, or Rule expressions on the lower-level configured parts.
• Note that if the same global input variable has also been selected in the Global Variable Name combo box
of another lower-level configurations input, the Epicor application updates the input for the corresponding
lower-level configuration with the value that has already been assigned to the global variable from the previous
top-level or lower-level configuration.
• If two configured parts within the BOM structure need to reference or update the same Global Input Variable,
the global input variable must be selected in the Global Variable Name combo box (on at least one of the
inputs in each separate configured part) for both configured parts. The global input variable isn't available to
the configured part unless it is selected in the Global Variable Name combo box for one of its inputs.
• The value that is assigned to this selected global variable stays consistent throughout a single configuration
session. If the value is changed on a lower-level configured part, the value also changes for any other configured
parts for which this same global variable has been selected. This occurs within a single configuration session
for a specific quote line, order line, purchase order line or demand order line - this value does not pass across
different line items on the same order, quote, purchase order or demand order.

Programs and Their Modifiers

Part Maintenance
The Configurator Designer sheet can be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

The Global Input Variables selection allows you to define global input variables that can be selected for a selected
input control using the Global Variable Name combo box in the Input Rules > Inputs > Detail sheet. From the
Actions menu anywhere in the Configurator program, click Global Input Variables.

90 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

These are the values you can modify for this item:
• Input Name - Enter the name of the global input variable as it should appear when displayed as a selectable
option in the Global Variable Name combo box in the Input Rules > Inputs > Detail sheet.
• Be aware when naming the global input variable selections so that they do not have the same names as
input controls themselves. For example, if an input control being used for a configured part is called Size,
do not use it as the name for any of global variable selections if you want to use the global input variable
on that configured part. When using the Global Variable Name combo box, the Epicor application
prevents selection of a global input variable with the same name as a control being used for the same
configured part.
• Note that the global input variables you create in this program are not linked to a specific part or revision
- you create the selections as part of an all-inclusive list that can be shared by many configured parts or
revisions. It is advisable to use a naming convention that clearly differentiates global input variable names
from the names of input controls themselves.

• Type - Select the data type (Character, Date, Logical, or Decimal) for the global input variable. Refer to
Inputs > Detail for more details on each data type.
• Character Value / Date Value / Decimal Value / Logical - Depending on the data type that was selected
in the Type field, specify the default input value for the global variable input being defined. The Epicor
application assigns this as the default value during an actual configuration session if the global input variable
doesn't already have a value (that is, it hasn't already been assigned by a previous configured part during the
same configuration session). Select the Logical Value check box if the global input variable being defined is
a Logical value and you wish to set the initial value for the Logical field as selected. Leave the check box cleared
to set the initial value for the Logical field as cleared.
The Character Value, Date Value, Decimal Value and Logical Value check boxes are all optional entries.

Logic/Algorithms

When in an actual configuration session, if the user changes the value in an input control for which a global
input variables has been assigned, the Epicor application automatically updates the global variable. If you change
the global variable value, the Epicor application updates the input value to which it has been assigned.
As the user progresses through the configuration session to configure the top-level configured part, the current
value assigned to the global variable is passed to the next (or previous) configured part. It can be referenced or
changed in that configuration as long as one of the inputs in the configuration also contains a global variable
selection in the Global Variable Name combo box.

Epicor ERP | 9.05.702 91


Implementation Components and Calculations Configurator Technical Reference Guide

Examples

An office furniture manufacturer produces office cubicles - each model consists of walls (seven panels and painted
frames), a desktop and a cabinet. Each of these components have their own configured options but all are
normally painted in the same color unless the customer requests otherwise.
• The main (parent) configuration is the office cubicle itself and allows selection of style and color.
• The association child configurations are the cubicle walls (panels and painted frame), the desk top and the
cabinet.
• During an actual Q&A configuration session, the four separator configurations appear as one in the same
configuration session (they are not operated independently from each other).
A "Color" global input variable can be developed that allows selection and "passing down" of the color selected
for the parent office cubicle to the child wall, cabinet and desk in the Input Rules - Page sheet, resulting in a
color-coordinated set that does not require individual selection of color for each configured component (unless
desired). To set this up in the Configurator Designer, you would do the following:
• Create a global variable called globalColor using the Global Input Variables selection on the Actions menu
in the Input Rules - Inputs - Detail sheet.
• In each of the configurations, add an input control called localColor in the Input Rules - Page sheet. When
defining this input control in the Input Rules - Inputs - Detail sheet, select the Global Input Variable check
box. Assign globalColor (as the global input name) to the localColor input variable using the Global Variable
Name combo box.

When creating an office cubicle configuration during the actual configuration Q&A session, the following actions
take place:
• The user enters Office Cubicle as the part number in Order Entry and clicks Configure to start the
configuration Q&A session.
• In the parent Office Cubicle configuration, the user selects the color Blue, which is stored as the value in
globalColor.

92 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• After completion of the Office Cubicle configuration, the Epicor application immediately executes the child
Walls configuration in the same Q&A session. Because the OClocalColor input control is linked to globalColor,
it inherits the value Blue. The user chooses not to change the color selection, so the value Blue is also stored
in globalColor.
• After completion of the child Walls configuration, the Epicor application immediately executes the child
Desktop configuration in the same Q&A session. The DTlocalColor input control is linked to globalColor and
inherits the value Blue, but user decides to change the color to Gray. The DTlocalColor and the global variable
globalColor are updated with the new value of Gray, but the Office Cubicle and Walls configurations are not
updated (OClocalColor and WlocalColor remain as Blue).
• After completion of the child Desktop configuration, the Epicor application immediately executes the child
Cabinet configuration in the same Q&A session. The ClocalColor input control is linked to globalColor and
inherits the value Grey.
Note that if the child Walls, Desk Top and Cabinet configuration were entered as part numbers on separate
sales order lines, the globalColor value would not be passed between them because each configuration would
be processed in individual Q&A sessions; global input variables are only shared between configurators in the
same Q&A session.

Expression Builder / Context Functions

Use the Expression Builder to establish expressions that determine how input values are evaluated in controls
placed on a configuration input page using the Configurator Designer > Input Rules > Page sheet. You can define
expressions in the following Configurator Designer > Inputs sheets:
• Prompt When - Specifies the conditions under which a particular control (field) should appear (be enabled
or disabled) on an input page during a configuration session, or when a configuration page itself should be
enabled or disabled. Refer to Input Rules > Inputs > Prompt When and Input Rules > Prompt When for
more details.
• On Leave - Specifies the conditions that designate the actions that should take place (what should happen)
when exiting a particular control (field) on an input page, or an input page itself during an actual configuration
session. Refer to Input Rules > Inputs > On Leave and Input Rules > On Leave for more details.

Epicor ERP | 9.05.702 93


Implementation Components and Calculations Configurator Technical Reference Guide

• Dynamic List - A dynamic list is a set of combo box option selections that are dynamic in nature (that is, the
displayed options change based on certain conditions being satisfied). An expression can be developed using
the Expression Builder that allows you to construct a specific set of options that display when specific selections
have been made in other fields in a configuration session, or certain conditions have been satisfied. Refer to
Input Rules > Inputs > Detail > Dynamic Lists > Detail/Criteria for more details.
• General Pricing - Use the Input Rules > Pricing > General > Detail sheet to define sales order, quote, purchase
order and demand order pricing options for a configuration for external companies. It can be used if the
Enterprise Configurator check box has been selected in the Status sheet and you are using multi-company
configurator functions. Refer to Input Rules > Pricing > General > Detail for more details.
• Document Rules - Document rules allow for updating of source transactions (such as quotes, sales orders,
jobs, purchase orders or demand orders) that initiated a configuration. They can be used in a single-company
environment, or with an Enterprise Configurator in a multi-company environment. These rules allow for the
creation of Calculation, Set Field, and Program Call rules that automatically update these transactions with
applicable data specifically related to the configuration and its manufacture in the Manufacturing company.
Based on the rule expression syntax, the Epicor application updates the tables and fields defined in the rule
with the appropriate resulting values (also specified in the rule expression). Refer to Input Rules > Document
Rules for more details.
• Structure Rules - Structure rules are required in an Enterprise multi-company configurator to build the
structure of the configurable subcomponents (they cannot be used in a single-company environment). This
structure is necessary to determine which other configurators must be present in the Sales company to collect
all the required inputs for the Manufacturing company. The structure rules only contain configurable
subassemblies and configurable materials. They can be defined in the Sales company to perform the tasks
that would normally be performed when method rules are applied against these sub configured parts when
the Get Details function is used in Quote Entry or Job Entry. Refer to Structure Rules for more details.
• Method Rules - Method rules determine the specific material content for the resulting method of manufacture
for the part when it is configured during an actual configuration session in Order Entry, Opportunity/Quote
Entry, Purchase Order Entry, Job Entry or Demand Entry. Refer to Method Rules for more details.

Entering Expressions
Expressions can be directly entered using the following methods:
• Directly entered into the appropriate sheet (Prompt When, On Leave, Dynamic List, Rules sheets) in the
Configurator Designer; you can do this by clicking Free Form or Edit, and then typing. This applies regardless
of the purpose of its use. If you have Microsoft Word or another text editing application, you can save the
expression in a document file for later reference. The Free Form editor supports cutting and pasting to and
from other applications. However, if you are keying the expression with the Free Form editor, you can type
the expression from left to right, as with any other text editor.
• You can also select the operations and operands from the Select wizard (see the Configurator Expression
Example below). In this case, the expression evaluates to a legible string of text that is displayed as you build
the expression.

94 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Refer to the Expression Builder Functions section for a complete listing of the expression functions and their
use.

Configurator Expression Example

When using the expression functions documented in the Expression Builder Functions section of this document,
the Configurator auto-populates the expression string with text, depending on what function is selected. Anywhere
a {number}, {string}, {date}, or {logical} that is auto-populated in the string needs to be replaced before the
expression is satisfied and it can be saved.
As you select the Next button in the Expression Builder, it steps you through each of these entries, allowing you
to replace them with constant text or with another sub-expression, a field or input that corresponds with the
type that is being replaced.
To build an expression, you first select the Rule Type being defined, select operator or relationship, and then
select the data elements.
• Refer to the Using Rules Types in Rule Processing for more details about rules types.
• If for example, a new Set Field rule is being defined for the IssuedQty field in the JobMtl table, and you have
decided to define a <Sub -Expression> for this field, you select the expression being used from a listing of
available expression functions for the field. The expression functions displayed are dependent on the type of
field being updated.
• In the example above, when defining method rules, you can specify a rules tag that allows you to apply
method rules against a part number (for example, same sub -level component) that occurs multiple times in
a configuration. This is an optional feature in the Configurator Designer; you do not have to use it if it does
not apply in your operations. Refer to Using Tag Lineage to Define Multiple Method Rules for the Same
Part for more details.
• At any point, you can click Back to go back a step. You can click Next to go forward, but this is allowed
only if the current entry is valid. The Next button becomes Finish when an expression is satisfied.

Epicor ERP | 9.05.702 95


Implementation Components and Calculations Configurator Technical Reference Guide

For operands (data elements), your choices are constants, fields, calculation rules that have been defined,
user-defined elements (fields that you created), or sub-expressions (results of other expressions). At this point,
you are updating the highlighted section in the expression string. Whatever is selected in the next Expression
page replaces the {Number} in the string.
• You can choose to replace this {Number} placeholder by adding another sub -expression, assigning a constant
value, or using other functions.
• In the example above, selecting <Numeric -Constant> specifies that a constant value must be entered or
selected to replace {Number} in the string.

A Constant page then appears for entry of the string constant value that replaces {Number} in the string.

In the example above, the absolute value of the 123 constant specified in the Constant form replaces {Number}
in the string.

96 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

This completes the definition of the rule, unless the sub-expression that was originally selected is longer and
contains more {number}, {string}, {date} or {logical} placeholders. In this case, the Next button would still be
enabled and allow you to step through each, replacing them one placeholder at a time.
Tip If the expression contains a referenced program that is stored in a directory, and the directory structure
in which the file is located contains spaces, you must put quotes around the directory and program name
(for example,"c:\Program Files\Test.p") in expressions that reference the program.

Additional Context Functions

Epicor has also developed additional context functions that are used to define a configuration for a part. Context
functions can be used in expressions for pricing, Prompt When, On Leave and Dynamic List processing.
These functions are valuable if numbers from the quote, order, or job are being used as part of the configuration.
As a result of using these functions, a configuration can behave differently if on a quote from how it would if
on an order or job. Refer to the Context Functions section for a complete listing of the context functions and
their use.

Use of Rules Types in Rules Processing

The Product Configuration module makes extensive use of rules that you define during the initial product
configuration definition phase (refer to Use of Configuration Rules for more details):
• Input Rules, including Dynamic Lists and Document Rules, that are defined in the Input Rules tab and
accompanying sheets.
• Method Rules that are defined in the Method Rules tab and accompanying sheets.
• Structure Rules (Multi-Company only) that are defined in the Structure Rules tab and accompanying sheets.
When you define individual rules for use in Configurator processing, you specify what Boolean logic-based rule
type (and accompanying logic) is being employed in the rule. For example, for Method rules, you use the Keep
When rule type to determine the specific material content, and designate what components and operations
should be included when the configured part is manufactured.
Note The specific rules types that can be selected for use vary according to the kind of rule (Document,
Method or Structure) being defined; only selected rule types are available for use with each kind of rule.

Use of Boolean Logic - How Rules Work


Rules that you define in the Product Configuration are based on Boolean logic, which presents a statement that
must be either true or false.
• If A is true and B is true, then choose C
• If A is true and B is false, then C is not chosen.
• If A is false and B is true, then C is not chosen.
• If A is false and B is false, then C is not chosen.

Rule Example
Suppose you are a manufacturer of kitchen appliances, one of which is a table-top mixer. These come in various
motor sizes, depending on the end use of the item. One of the options might be to include a dough hook, used
for kneading bread dough. Since this requires a heavy-duty motor, then selecting the dough hook attachment

Epicor ERP | 9.05.702 97


Implementation Components and Calculations Configurator Technical Reference Guide

causes the Configurator to select the heavy duty motor, whereas it normally would select the medium duty motor.
So, the Keep When rule would look something like this:
• "Keep "Heavy Duty motor" when Doughhook = true
• "Keep "Medium Duty motor" when Doughhook = false
How is the Configurator kept from selecting the other motor? Simply by using the opposite rule:
• "Keep "Heavy Duty motor" when (dough = "Bread Dough" or dough = "pastry crust" or heavyingredients
= true).
• "Keep "Medium Duty motor" when (not (dough = "Bread Dough" or dough = "pastry crust" or
heavyingredients = true)).
• A better way of accomplishing this is to define a Calculation variable - Heavy = (dough = "Bread
Dough" or dough = "pastry crust" or heavyingredients = true)
Now the quote will contain one of the two motors, depending on whether the user wants a dough hook
attachment. The Configurator works on an exception basis - if no rule attached to an item, it is always selected.
So, it is only those items that are "conditional" that would require selection rules. What if there is more than
one reason to select a component or subassembly? In the case of the table-top mixer, the heavy duty motor may
be required for a number of reasons:
• kneading bread dough
• making pastry crust
• mixing heavy ingredients
It is necessary to verify the heavy-duty motor is selected if any of the above is true, so the following rule would
be defined:
• "Keep "Heavy Duty motor" when heavy = true
• "Keep "Medium Duty motor" when heavy = false
If any one of the above is true, the heavy-duty motor is selected. The medium-duty motor is selected only if none
of the above is true. In each of the above examples, it is not necessary for the user to choose the heavy-duty
motor, the Configurator selects it automatically based on other selections.

Rule Types Selection

98 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

When first defining a rule (be it a Document, Method or Structure Rule), you specify the rule type, usually in the
Expression Builder. For example, referring to the graphic above, a Calculation rule type has been selected in the
Expression Builder. Note that the specific rules types that can be selected for use vary according to the kind of
rule (Document, Method or Structure) being defined; only selected rule types are available for use with each kind
of rule.
For example, when you define an individual Method rule in the sheets under the Method Rules tab, you can
select one of the following rule types:
• Calculation
• Keep When
• Set Field
• Program Call
• Rule Function
After selecting a rule type, enter the parameters for the rule itself; the information entered is dependent on the
type of rule selected in the Rule Type field. Refer to the information that follows in this section for a detailed
explanation of each rule type and how it is defined.

Calculation

This rule type (pictured on the previous page) calculates and stores a value required for use in other rules. This
is one of the most powerful features of the Configurator; it gives it the ability to perform calculations through
formulas.
You can create complex calculations with sub-calculations, and other elements.
When you create a Calculation rule, it is also available when adding rules to any other assembly, material,
operation, or operation detail sequence. This allows the Epicor application to easily perform calculations as entries
are made during a configuration session. It eliminates the need to modify the standard values on the Method of
Manufacture for a universal part to accommodate non-standard values that vary based on configuration session
entries (for example, calculation of area for component materials with varying widths and heights).
• It is also useful if you are creating a series of Set Field rules that are updated based on the results of an identical
calculation that each one uses. Instead of duplicating the same calculation over and over (on multiple assemblies,
materials, operations), you can perform the calculation once by creating a single Calculation rule.
• For example, if you create a Calculation Rule called Area, which calculates area based on multiplying width
and height entries during a configuration session, the Epicor application stores the results of the calculation
in the generated rule programs in a shared variable called Area.
• When building Set Field rule expressions, the name of the calculation displays in the list of available selections
(see above). The field can be updated using the results of the Calculation rule expression. You could then
create a Set Field rule that uses the area value to set the value of the QtyPer field of the material.
To define a Calculation rule, do the following:
• Enter the name of the calculation into the Calculation field, for example, Area.
• Use the Expression Builder to build expressions containing the conditions used to perform calculations of
values that are stored for use in other types of rules. Refer to the Expression Builder / Content Functions,
Express Builder Functions and Context Function sections for detailed information.

Example
One of the most powerful features of the Configurator is its ability to perform calculations through formulas.
Wavy Rider Products allows its customers to add mirrors of different sizes to their pontoon boats. They consist
of three components (frame material, glass and optional mat) that require computation of dimensions.

Epicor ERP | 9.05.702 99


Implementation Components and Calculations Configurator Technical Reference Guide

Assume that the frame pieces will be cut at a 45-degree angle, so that the outside dimension of each piece will
correspond to one of the frame dimensions. For example, a 5X7 inch frame requires four frame pieces - two at
five inches in length, and the other two at seven inches in length.
This is a total of 24 inches of material. Since the inventory unit of measure for the frame material is bar (BR), it
is necessary to determine the bar length and how much of each bar is needed for each frame. Assume each piece
of frame material is purchased in 12-foot lengths, or 144 inches. The calculation for a 5X7 frame would be 24/144
= 0.166666. The quantity per parent value on a job or quotation is now 0.166667 bar (BR) for each frame. Similar
calculations can be done for the other two frame sizes; the Configurator can do the calculations for us.

Set Field

This rule type assigns a value to a data field in an operation or material record for a quote or job, based on the
calculations and inputs made during a configuration session.
A second use of the Set Field rule is for eliminating the need to include all possible raw materials or components
defined for the universal part being configured, and skip having to define Keep When rules that would be
necessary to accomplish this task.
• For example, placeholder part numbers can be used when defining Set Field Method rules for subassembly
configurators (subconfigurators). A sub-configurator is defined as a configurator that is a subassembly of
another configurator; the Epicor application identifies subconfigurators that exist within a configurator when
you run the Refresh Structure Definitions selection on the Configurator Designer Actions menu.
• A place holder is a 'dummy' part number that can be included in a Method rule; if the conditions of the rule
are satisfied during a configuration session, the Epicor application replaces the placeholder part number with
another actual part number. This eliminates the need to use Keep When rules that add each possible
subconfigurator as a sub assembly. The Set Field replacement method is easier to maintain and requires less
ongoing interaction and maintenance than you use Keep When rules for this task.
Note For information on how to define subconfigurator placeholders "swaps" in a multi-company
environment, refer to Creating Subconfigurator Part Swaps in a Multi-Company Configurator
Environment.

Another excellent use of the Set Field rule is for those fields whose values change based on the inputs.
• The most common rule type for operations is the Set Field rule for calculation of run times, although it may
be necessary to determine whether or not an operation is necessary by using a Keep When rule.

100 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Based on entries made during a configuration session, the Epicor application uses Set Field rules to properly
populate the Get Details sheet when creating a job for the configured part in Job Entry or Quote Entry.
To define a Set Field rule, specify the table for which the rule is being defined. Select one of the following. Once
you have selected an option, it displays in the Table field:
• Job
• Job Assembly
• Quote
• Quote Assembly
• Part - You can create Set Field rules on the Part table only if the Create Part for each new configuration
check box has been selected in the Configurator Designer > Part > Creation sheet, and only if Assembly 0
(Alt) was selected in the tree display. When the Epicor application creates the part number during a
configuration session, it processes any Set Field rules defined in the Part table, and updates the new part
record with those values.
After selecting the table, specify the field within the table for which the rule is being defined. Only user-updatable
fields displayed in the list of fields for each table. Key fields, calculated fields, and system-assigned fields do not
display in the Available Selections list in the Expression Builder. Once you have selected an option, it displays in
the Field field.
• After selecting the field and table, use the Expression Builder to establish expressions that contain the conditions,
that when satisfied, set a value in the selected field within the selected table.
• Refer to the Expression Builder / Content Functions, Express Builder Functions and Context Function
sections for detailed information.

Example
Wavy Rider Products allows customers to add wooden doors with glass inserts; they allow easy access to the
quarters below deck in the pontoon boats. There are a large number of part numbers for the glass based on
color, thickness and other factors. Rather than including all of these combinations in the universal part, Wavy
Rider Products has decided to create rules that the inputs to create a part number for the glass. Assume the
following inputs:
• P01_Num_DoorHeight, for the height of the door.
• P01_Num_DoorWidth, for the width of the door.
• P01_Cmb_DoorThick, a combo box for the thickness of the door.
• P01_Cmb_Color, for the glass color.
They have constructed a rule that creates a part number for the glass based on its dimensions, thickness and
color. It also converts the Numeric field to a Character field. The rule looks like the following:
Set QuoteDtl.PartNum = String(P01_Num_DoorHeight) + String(P01_Num_DoorWidth)+ P01_Cmb_DoorThick
+ P01_Cmb_Color

Epicor ERP | 9.05.702 101


Implementation Components and Calculations Configurator Technical Reference Guide

In this example, they have created a value for the Part Number field by concatenating the four character values
together. This rule must be linked to material in the Method of Manufacture for the universal part, but it overrides
the material part number with the result.

Program Call

This rule type transfers control to an external program to perform instructions and return the result to the
configuration.
• To create such a rule, enter the path to the external program, including any command line parameters, in the
Free Form Editor field. For example, enter the syntax run xxx.p, where xxx is the name of the external
program being called.
• The rule programs that are generated when the configuration is approved are processed on the server. If no
UNC path is specified with the program name, when the Run statement is executed during the configuration
process, it searches all directories that are defined in the PROPATH for the server; the specified program must
reside in one of the directories.
• You can also specify a full UNC path if the program is located on a different server or machine. If the file is
located on another server or machine, the server where this program is located has to proper permissions
required to access the folder in which it is located.

102 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Keep When

Unlike non-configured parts, the Method of Manufacture that is initially defined for a configured universal part
revision contains all component parts and operations that could possibly be included to manufacture
the configured part, regardless of the actual selected configuration options.
• When these types of parts are actually configured, they use Keep When rules to select the materials and
assemblies and operations required for a particular configuration, based on user input during a configuration
session. This rule type specifies the conditions under which this material or operation should remain in the
Method of Manufacture.
• A better method of referring to these rules is as "Only Keep When" rules (that is, defining only those conditions
under which specified materials or operations should remain on the Method of Manufacture for the configured
part). They allow for selection of an operation or material during a configuration session (based on date,
numeric, logical, or string data), or construction of a logical statement consisting of one or more of these.
• For example, if a universal part is a frame and you included a "Reinforce" operation on the frame's routing.
However, this operation is not necessary if the frame is smaller than three feet wide. You could then create
an input called Width, and build a Keep When rule on the Reinforce operation that states that this operation
should be included in the Method of Manufacture only when the width is greater than 3.0.
• Note that if you selected Alt from the tree display, Keep When rules can be created for alternate revisions or
the top-level assembly itself.
• To create Keep When rules, select the Context function being used in construction of the rule, and use the
Expression Builder to establish expressions that contain the conditions, that when satisfied, cause the specified
materials or operations to remain on the Method of Manufacture for the configured part. Refer to the
Expression Builder / Content Functions, Express Builder Functions and Context Function sections for
detailed information.

Example
Wavy Rider Products has developed a Keep When rule to keep the AS090-6061 part number when the calculated
tube diameter is 25". It contains the following condition expression:
Keep When - (Substring(Calc_Center_Tube_Desc,Integer(6),Integer(2))) = "25"
Note that it is better to put this calculation into a calculated field, and use the calculated field in the Keep When
rule. The calculated field can then be used for multiple Keep When rules - this allows you to easily maintain or
update the calculation expression in one place. Many users create the calculated fields at the top of a Method
of Manufacture tree so they can be easily found.

Epicor ERP | 9.05.702 103


Implementation Components and Calculations Configurator Technical Reference Guide

Rule Function

This rule type returns values for operations, operation details, and materials using Context functions; the specific
Context functions that are available are dependent on what type of record was selected in the tree display.
• This rule type is valuable for rules that refresh details when specific values are changed.
• Note that if you selected Alt from the tree display, Rule Function rules cannot be created for alternate revisions
or the top-level assembly itself. Rules functions can be defined for alternate revision, just not the top-level
assembly of an alternate revision. Refer to the Expression Builder / Content Functions and Context
Function sections for detailed information.
• Rule functions are processed when using the Get Details sheet in Quote Entry or Job Entry. Each of these rule
functions serve a different purpose but they are normally added after another Set Field rule has been created
on the same assembly, material, operation, or operation details sequence that would have changed the value
of an existing field. For example, the part number or operation code has been changed.
The following selections are available when defining a Rule Function; the specific selections that appear are
dependent on where the rule is being added (operation, operation detail, material, or subassembly):

Get Operation Master Defaults


This function can only be added when defining rules for operation sequences.
• Since the OpCode may have been changed by a Set Field rule, this rule function can be added to retrieve
default values for the new OpCode. The default values are similar to the default values that would display if
you manually change the OpCode on an operation detail sequence in Quote Entry or Job Entry.
• The Get Operation Master Defaults function auto -populates the GetOpMaster() string into the Rules
expression editor.
Example
You have an operation defined in the Method of Manufacture for the base configured part. Depending on the
input values that are entered for the configuration, you may want to use a different operation. This would be
done using a Set Field rule. If the operation code is changed from the Set Field rule, all of values from the previous
operation would still exist within the quote or job. The Get Operation Master Defaults rule function could be
added to the operation sequence after the Set Field rule. This rule function still retrieves all of the default
information for the new operation.

104 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Get Operation Standard Defaults


This function can only be added when defining rules for operation detail sequences.
• Since the OpStdID may have been changed by a Set Field rule, this rule function can be added to retrieve
default values for the new OpStdID. The default values are similar to the default values that would display if
you manually change the OpStdID on an operation detail sequence in Quote Entry or Job Entry.
• This rule retrieves defaults for the current value in the OpStdID field in the parent operation of the operation
detail record. It operates on the detail record because the default detail record must exist to refresh the
operation standard. When rules run for the operation, no detail records exist, so the rules must be postponed
to run on an operation detail.
• The Get Operation Standard Defaults function auto -populates the GetOpStandard() string into the Rules
expression editor.
Example
You have an operation standard defined in the Method of Manufacture for the base configured part. Depending
on the input values that are entered for the configuration, you may want to use a different operation standard.
This accomplished using a Set Field rule on the operation. If the operation standard ID is changed from the Set
Field rule, all of values from the previous operation standard would still exist within the quote or job. The Get
Operation Standard Defaults rule function could be added to the operation detail sequence. This rule function
retrieves all of the default information for the new operation standard.

Get Resource ID Defaults


This function can only be added when defining rules for operation detail sequences.
• Since the Resource ID may have been changed by a Set Field rule, this rule function can be added to retrieve
default values for the new part number. The default values are similar to the default values that would display
if you manually change the operation detail sequence in Quote Entry or Job Entry.
• The Get Resource ID Defaults function auto -populates the GetResourceID() string into the Rules expression
editor.

Get Resource Group ID Defaults


This function can only be added when defining rules for operation detail sequences.
• Since the Resource Group ID may have been changed by a Set Field rule, this rule function can be added to
retrieve default values for the new part number. The default values are similar to the default values that would
display if you manually change the operation detail sequence in Quote Entry or Job Entry.
• The Get Resource Group ID Defaults function auto -populates the GetResourceGrpID() string into the Rules
expression editor.
Example
You have a Resource ID defined in the Method of Manufacture for the base configured part. Depending on the
input values that are entered for the configuration, you may want to use a different Resource ID. This accomplished
using a Set Field rule on the Resource ID. If the Resource ID is changed from the Set Field rule, all of values from
the previous Resource ID would still exist within the quote or job. The Get Resource ID Defaults rule function
could be added to the Resource ID. This rule function retrieves all of the default information for the new Resource
ID.

Epicor ERP | 9.05.702 105


Implementation Components and Calculations Configurator Technical Reference Guide

Get Capability ID Defaults


This function can be added only when defining rules for operation detail sequences. It retrieves the defaults for
the current value in the Capability ID field. The Epicor application uses this rule for operations details, and runs
for both quotes and jobs. The Advanced Planning and Scheduling module must be active in order to use this
function.
• Since the capability ID may have been changed by a Set Field rule, this rule function can be added to retrieve
default values for the new capability ID. The default values are similar to the default values that would display
if you manually change the capability ID on an operation detail sequence in Quote Entry or Job Entry.
• The Get Capability ID Defaults function auto -populates the GetCapabilityID() string into the Rules expression
editor.
Example
You have defined a capability in the Method of Manufacture for the base configured part, but, depending on
the input values that are entered for the configuration, you may want to use a different capability ID. This would
be accomplished using a Set Field rule. If the capability ID is changed from the Set Field rule, all of values from
the previous capability ID would still exist within the quote or job. The Get Capability ID Defaults rule function
could be added to the operation detail sequence after the Set Field rule. This rule function retrieves all of the
default information for the new capability ID.

Get Part Defaults


This function can only be added when defining rules for material sequences.
• Since the part number may have been changed by a Set Field rule, this rule function can be added to retrieve
default values for the new part number. The default values are similar to the default values that would display
if you manually change the part number on a material sequence in Quote Entry or Job Entry.
• The Get Part Defaults function auto -populates the GetPartDefaults() string into the Rules expression editor.
Example
You have a material defined in the Method of Manufacture for the base configured part. Depending on the input
values that are entered for the configuration, you may want to use a different material for this material sequence
on the quote or job. This would be done using a Set Field rule on the operation. If the material part number is
changed from the Set Field rule, all of values from the previous part would still exist within the quote or job. The
Get Part Defaults rule function could be added to the material sequence. This rule function retrieves all of the
default information for the new part number.

Set Current Revision


This function can only be added when defining rules for assembly sequences.
• Since the subassembly part number may have been changed by a Set Field rule, this rule function can be
added to retrieve the latest approved revision for the new part number, and update the job assembly or quote
assembly record with this revision number, when using the Get Details sheet in Quote Entry or Job Entry.

106 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• The Set Current Revision function auto -populates the SetCurrentRevision() string into the Rules expression
editor.
Example
The following parts exist in the current company:
• Part number "OrigAssemblyPartNumber", revision A.
• Part number "NewAssemblyPartNumber", revision A - not approved
• Part number "NewAssemblyPartNumber", revision B. - approved
Each of the above revisions would have a unique Method of Manufacture. Part OrigAssemblyPart Number is
added as a subassembly in the Method of Manufacture in the base configured part.
• Depending on the input values that are entered for the configuration, you may want to use part
NewAssemblyPartNumber instead; this would be accomplished using a Set Field rule.
• The Set Field rule would replace the part number but it would attempt to retrieve the Method of Manufacture
for revision A, because this is the revision that was defined for the original part number.
• The Set Current Revision context function could be added to retrieve the latest approved revision for the new
part number. This value would be assigned to the quote or job material record and it would use this revision
to retrieve the Method of Manufacture for the subassembly part.

Retain Existing Methods


This function can only be added when defining rules for assembly sequences.
• Since the subassembly part number may have been changed by a Set Field rule, this rule function can be used
in a case where you would want to retrieve the Method of Manufacture for the original part number (the
part number that was originally defined as the subassembly of the configured part).
• The Retain Existing Methods function auto -populates the RetainExistingMethods() string into the Rules
expression editor.
The remaining context functions (described in Context Functions section) are all assigned to other type values
(for example, {String} and{numeric}) depending on the resulting data type of the context function.
Example
The following parts exist in the current company:
Part number "OrigAssemblyPartNumber", which has the following materials defined in its Method of
Manufacture:
• Operation Op A
• Material Part A
• Material Part B
Part number "NewAssemblyPartNumber", which has the following materials defined in its Method of
Manufacture:
• Operation Op Z
• Material Part X
• Material Part Y

Epicor ERP | 9.05.702 107


Implementation Components and Calculations Configurator Technical Reference Guide

Part OrigAssemblyPartNumber is added as a subassembly in the base configured parts Method of Manufacture.
• Depending on the input values that are entered for the configuration, you may want to use part
NewAssemblyPartNumber instead; this would be accomplished using a Set Field rule. The Set Field rule
would replace the part number and it would retrieve Method of Manufacture that is defined for
NewAssemblyPartNumber (Operation Op Z, Material Part X Material Part Y).
• There may be a case where you would want to replace the part number, but still retrieve the Method of
Manufacture for the original part. This can be accomplished by adding the Retain Existing Methods rule
function. When using the Get Details sheet in Quote Entry or Job Entry, the part number is replaced with
NewAssemblyPartNumber, but it would retrieve the Method of Manufacture that was defined for
OrigAssemblyPartNumber (Operation Op A, Material Part A, Material Part B), rather than the Method of
Manufacture that was defined for NewAssemblyPartNumber (Operation Op Z, Material Part X, Material
Part Y).

Input Rules > Inputs > Detail > Dynamic Lists > Detail / Criteria

Use the Input Rules > Inputs > Detail > Dynamic Lists > Detail and Criteria sheets to define a dynamic list for a
selected combo box control. A dynamic list is a set of option selections that are dynamic in nature (that is, the
displayed options change based on certain conditions being satisfied).
• An expression can be developed using the Expression Builder that allows you to construct a specific set of
options that display when specific selections have been made in other fields in a configuration session, or
certain conditions have been satisfied.

108 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• It also allows you to specify the name of a custom -coded program that passes in inputs or values from an
external list or files to populate (generate) the dynamic list. Unlike standard combo-boxes that offer a fixed
set of option selections, dynamic lists present choices during a configuration session that are based on
conditions established in the Expression Builder, or passed in from an external list or file.
For example, if you are constructing a configuration for a PC, you can develop dynamic lists for selection of a
specific type of memory chips (for example, DDR / DDR2) that are dependent on the type of motherboard selected
for the computer (one type of motherboard might support DDR type memory chips, while the other type only
supports DDR2 type memory chips). The expression statements you develop in the Dynamic List sheet designate
the conditions under which each of the memory chip dynamic lists (each with selections associated with entirely
different sets of part numbers) are displayed.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
Select the Input Rules > Page sheet. From the Actions menu, select Design Toolbox, and then select the
applicable choice for the input page. When you select a Combo Box control from the Design Toolbox and place
it on the Input Rules > Page sheet, click the Input sheet to define the attributes of the control itself. From the
File menu, click New Dynamic List and then click Dynamic List to define dynamic list parameters for the combo
box. These are the values you can modify:
• BAQ - If the Run BAQ check box is selected, specify the identification number of the BAQ that is being
processed for this dynamic list. Enter the identification number or click BAQ to access the BAQ Search window
to select a BAQ identification number.
• Display Value - If the Run BAQ check box is selected, specify the value being displayed in the drop-down
list for the combo box input.
• Condition - Enter the expression statement stating the conditions that must be satisfied to display the specified
dynamic list in the selected combo box control during a configuration session, or click Edit to use the Expression
Builder to build the statement. Refer to the Expression Builder / Content Functions and Express Builder
Functions sections for detailed information.
• List Items - Enter the list of fixed options that display in the combo box during a configuration session when
the conditions of the expressions statement have been satisfied. Each option must be separated by a comma
delimiter, with no spaces between the options, or preceding the options. Erroneous entry of spaces in this
field is particularly significant when any of the list items are selected in calculations or Keep When rules. For
example, if you are defining a dynamic list with memory chip selections, enter 500MB DDR2,1GB DDR2,2
GB DDR2. If you are using a program that passes in inputs or values from an external list or file to populate
the dynamic list, this field can be left blank. Spaces entered in front of the list (for example, _Red,Blue,

Epicor ERP | 9.05.702 109


Implementation Components and Calculations Configurator Technical Reference Guide

Green), or preceding any of the fixed options (for example, Red,_Blue, Green) display in the combo box
itself during an actual configuration Q&A session.
• Initial Value - Specify the default option selection (if any) for the combo box control being added (for example,
1GB DDR2 in the Memory combo box example). This is an optional field; leave it blank if you do not want a
default option selection to display in this combo box during a configuration session.
• Run Program - Select this check box if you wish to run a program (whose name is specified in the Program
Name field) that passes in inputs or values from an external list or files to populate the dynamic list. This
allows you to write an external .p program (using Notepad or another editor) that returns a comma separated
list (.csv file) and an initial value. The following parameters must be followed to properly develop a useful
functioning external program:
• The external program must be a text file (with the extension .p), and the first line of the program should
contain the syntax {ud\dynlist.i}. The syntax {ud\dynlist.i} is a reference to an "Include" file containing
the output parameter definitions for the comma separated list and the initial value. You can open this file
with Notepad (it is located in the server\ud folder)
• A comma delimited list (.csv file) is a list of strings which are separated by commas. Each string is an item
that can be selected in the combo box. The items in the comma separated list are both the display field,
and the value the field that is stored in that database when the user has selected the item. When creating
the accompanying comma separated list, make sure there are no space around the commas. Each character
between the commas is part of the string that is used in expressions and Keep When rules. Spaces are
also very difficult to locate.
• Input parameters can be added to .p program by adding the values in comma separated list into the
Program Inputs field. These values can be strings (surrounded by double quotes), numeric values, decimal
values, logical values or date values. The values can either be hard -coded or can be input fields used in
the configuration. You have to to add corresponding code In the .p file to process the input parameters.
• For instance, if you want to pass the Color field to the .p file, then you have to place the following line of
code to the file: Define input parameter ipColor As Character no -undo. The name ipColor can be
replaced by any other name. Character (for string), Decimal, Integer, Date and Logical are valid parameter
types.
• Example:
/* GetUDTable01.p : get Ud01 records*/
{ud\dynlist.i}
Define Input Parameter ipModel As Character No-Undo.
Define Input Parameter ipType As Character No-Undo.
Define Input Parameter ipSize As Character No-Undo.
For Each UD01 where UD01.Company = Cur-Comp
And UD01.Key1 = ipmodel
And UD01.Key2 = ipType
And UD01.Key3 = ipSize no-lock:
ASSIGN oplistitems = oplistitems + UD01.ShortChar01 + ",".
End.

• Program Name - Enter the name of the program (if any) used to generate the dynamic list, or click Program
to browse your directory structure to find the program.
• An example of a program that could be called is the standard ud\test\GetTableData.p program. Examples
of .p files supplied by Epicor are cv8400belttype.p, FilelookLabels.p, filelookup.p, Filerowselect.p and
GetTableData.p.

110 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• For a complete listing of Epicor -supplied utility programs, refer to Appendix: Epicor-Supplied Programs,
and see Configurator Designer > Utility Programs in the application help.
• All Dynamic list programs and all referenced .csv files must exist on the AppServer for the lists to be valid.
• Note: If the directory structure in which the file is located contains spaces, you must put quotes around
the directory and program name (for example, "c:\Program Files\Test.p") in expressions that reference
the program.

• Program Inputs - Enter the inputs expected by the program specified in the Program Name field.

If the Run BAQ check box was selected in the Input Rules > Inputs > Detail > Dynamic Lists > Detail sheet, use
the Criteria sheet to specify BAQ column name, condition and value parameters for the BAQ being defined for
the dynamic list. The Criteria sheet functions in a manner similar to the Quick Search functions found elsewhere
in the Epicor application. It also contains buttons that allow you to add new BAQ columns, delete existing BAQ
columns, or move existing BAQ columns up or down in the listing.

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.

Epicor ERP | 9.05.702 111


Implementation Components and Calculations Configurator Technical Reference Guide

These are the values you can modify:


• BAQ ColumnName - Specifies the column from the BAQ that should be used for this Search field. This field
includes all columns associated with the BAQ selected in the BAQ field in the Dynamic Lists > Detail sheet.
Select the BAQ column being used for this Search field.
• Condition - Specifies how the Search input field should evaluate the value that the user enters. The search
results that appear resolve against the condition value you select from this list. The following selections can
be made: =,< >, >, <, >=, <=, BEGINS, MATCHES
• Value From - Specifies the return value that should be used to limit the search results. This field includes all
columns associated with the BAQ selected in the BAQ field in the Dynamic Lists > Detail sheet. Select the BAQ
column being used for this Search field. A constant value can also be entered into this field.
• BAQ Column - Use the BAQ column value specified in the BAQ Column Value field.
• Constant Value - Use the constant value specified in the Constant Value field. This is a static value.
• Input Value - Use the input value specified in the Input Value field. This is a value that changes the dynamic
list based input values entered before executing this BAQ.
• Constant Value - If Constant Value was selected in the Value From field, enter the constant (ststic)
value from the BAQ that should be used for this Search field.

• BAQ ColumnValue - If BAQ Column was selected in the Value From field, specify the column value from
the BAQ that should be used for this Search field.
• Input Value - If Input Value was selected in the Value From field, select the input value from the BAQ that
should be used for this Search field. This is a value that changes the dynamic list based input values entered
before executing this BAQ.
• Note: if an input value, used in this criteria, changes after generating the dynamic list, then it does not trigger
a new list.

Logic/Algorithms

During an actual configuration session, if multiple dynamic lists are defined for the same combo box, the Epicor
application processes the dynamic lists in the order that they are defined.
• If it processes a condition that is satisfied (returned true), it populates the combo box with that dynamic list,
and none of the remaining dynamic lists are processed.
• If none of the dynamic list conditions are satisfied, it uses the list items and initial value that were defined for
the combo box itself in the Input Rules > Inputs > Detail sheet.

Example(s)

Example 1
Prior to their implementation of their Epicor ERP solution, Wavy Rider Products maintained an extensive list of
Excel spreadsheets that had been used for selection and configuration of pontoon models, based on their intended
use (family/leisure and water sports). In conjunction with an internally developed program, Wavy Rider Products
can make excellent use of these lists in their new product configurator. For example, Activity and Model
Selection combo boxes could be added to the configuration input sheet using the following condition expression:
P01_CMB_Activity = 'Fishing' or P01_CMB_Activity = 'Family/Leisure' or P01_CMB_Activity = 'Water Sports'
After selecting the Run Program check box, the following syntax could be entered in the Program Name field
to state the name and location of the program being used to call an external listing of pontoon models:
C:\epicor\MfgSys80\Server\ud\Test\Filerowselect.p

112 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

The following syntax could be entered in the Program Input field to state the name and location of the program
being used to call an external listing of pontoon models:
C:\lookups\Models.csv",P01_CMB_Activity,2
This allows for selection of the model type (NottaYacht, Peregrine, Bay Dweller, Wavy Rider, Wavy Rider Pro or
Deck Buster IO) frome external list. Likewise, another dynamic list, using a program and external list could be
developed for selection ofcolor, based on the selected pontoon boat model.
It would use the following lookup expression, program name, and program input:
lookup("16 NottaYacht,18 Peregrine,18 Bay Dweller,20 Bay Dweller,20 Wavy Rider,20 Wavy Rider Pro,22
Peregrine, 22 Deck Buster,22 Bay Dweller,22 Wavy Rider,22 Wavy Rider Pro,24 Deck Buster,24 Deck Buster IO,24
Bay Dweller,24 Wavy Rider,24 Wavy Rider Pro,26 Deck Buster,26 Deck Buster IO",P01_CMB_Model) > 0
The lookup function returns the number in the list that matches the search item (P01_CMB_Model); if nothing
is found, then 0 is returned.
• Program Name: C:\epicor\MfgSys80\Server\ud\Test\Filerowselect.p
After selecting the Run Program check box, the following syntax could be entered in the Program Inputs field
to state the name and location of the program being used to call an external listing of pontoon models:
• Program Inputs: "C:\lookups\colors.csv",P01_CMB_Model,2

Example 2
If you have specified that the standard ud\test\GetTableData.p program is being called for the dynamic list, the
following inputs need to be passed to this program:
Table Name, Key Field, Description Field, Input Name 1, Input Name 2, Where String.
If you use a description field (third parameter), it produces <Key Field>;<Description> in the results that are
populated in the combo box. Otherwise, it only includes <Key Field> in the results. If you use an input name (1
or 2), this inserted into the query string wherever <var1> and <var2> is found and are located in the string
(corresponding to the Input Name 1 or 2).
As an example, your input page contains a combo box called SELTYPECODE where the user selects either
"Manufactured" or "Purchased", and another combo box called SELECTEDPART that is populated from a dynamic
list, depending on the value that is selected from the SELTYPECODE input. The following information would be
entered into the Program Inputs field, and would be passed into the GetTableData.p program as inputs:
"Part","PartNum","PartDescription",SELTYPECODE,"","Part.TypeCode = <var1>"
When the dynamic list is processed during the actual configuration session, only parts that have the same
Part.TypeCode as the value that is selected in the SELTYPECODE input would appear in the SELECTEDPART combo
box.

Epicor ERP | 9.05.702 113


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Inputs > Detail > Prompt When

Use the Input Rules > Inputs > Detail > Prompt When sheet to specify the conditions under which a particular
control (field) should appear on an input page. You can build expressions using the Expression Builder that, if
satisfied (is true) enable the control during a configuration session. Conversely, if the condition is false (is not
satisfied), the control is disabled (does not appear) during the session.
For example, if you are defining a configuration for a PC, a Prompt When condition could be assigned to a Hard
Drive Size selection combo box that designates that it should appear in a configuration session only if the user
selects a external hard drive as a Backup option, but does not appear if CD/DVD is selected as a Backup option.
Use the Configurator Designer > Input Rules > Prompt When sheet in place of this sheet if you wish to
specify the conditions under which a particular configuration input page should appear during a configuration
session.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer

114 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

For CRM users, the Main Menu appears as:


• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
After defining an input control in the Input Rules > Page and Input Rules > Inputs > Detail sheets, click the Input
Rules > Inputs > Detail > Prompt When sheet. Select the control (for which the Prompt When expression is being
built) from the tree display and click Edit to use the Expression Builder. Its purpose is to establish expressions
containing conditions that determine how input values are evaluated in controls that are placed on a configuration
input page. Refer to the Expression Builder / Content Functions and Express Builder Functions sections for
detailed information.

Logic/Algorithms

During an actual configuration session, the Epicor application processes Prompt When logic when the entire page
loads, and when you physically leave a control for which an On Leave expression is defined.
• Prompt When logic that has been defined for an input may be dependent on the value of another input, and
the value of this input may have changed during the processing of the On Leave expression.
• The Epicor application processes the Prompt When logic with the resulting input values after the On Leave
expression has been processed, and then appropriately enables or disables the field.
• If Prompt When logic is defined for an input, the Epicor application enables the input if the expression has
been satisfied (condition is true). If it is not satisfied, it disables the input.
• If no Prompt When has been defined for an input, it is always enabled.

Examples

For some Wavy Rider Products pontoon boat models, customers can add a standard Fish Finder or an upgraded
GPS-enabled Fish Finder to their newly purchased pontoon boats. Fish Finders are electronic sounding devices
that indicate where schools of fish are located in a body of water.
A customer can also choose to skip installation of this option. This option selection could be defined in the
Configurator as a radio set (with No Fish Finder, Standard Fish Finder or GPS-Enabled Fish Finder selections),
a combo box or even as a series of check boxes. Wavy Rider Products has decided to create two check boxes -
Standard Fish Finder, and GPS-Enabled Fish Finder. Skipping both of the check boxes during a configuration
session indicates that installation of this option should be skipped.
Since use of these boxes is conditional upon the type of pontoon boat that was selected, the following conditional
expression would be added for the Prompt When rule for the Standard Fish Finder check box:
((P01_CMB_Model <> "20 Wavy Rider Pro") and (P01_CMB_Model <> "22 Wavy Rider Pro") and
(P01_CMB_Model <> "24 Wavy Rider Pro"))
The Prompt When rule for the GPS-Enabled Fish Finder check box would contain the following conditional
expression:
((P01_CMB_Model <> "20 Wavy Rider Pro") and (P01_CMB_Model <> "22 Wavy Rider Pro") and
(P01_CMB_Model <> "24 Wavy Rider Pro"))

Epicor ERP | 9.05.702 115


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Inputs > On Leave

Use the Input Rules > Inputs > Detail > On Leave sheet to specify the conditions that designate the actions that
should take place when exiting a particular control (field) on an input page during an actual configuration
session. For example, you can build expressions using the Expression Builder that assign values to other inputs
after leaving the current control or field, or that call external programs to perform additional processing.
Note that the settings in the Configurator Designer > Input Rules > Page Detail sheet have a profound impact
on how On Leave expressions are loaded and handled when an input page is processed during an actual
configuration session. Refer to the Input Rules > Page Detail topic for detailed information.
Use the Configurator Designer > Input Rules > On Leave sheet in place of this sheet if you wish to designate
the actions that should take place when exiting a particular input page during an actual configuration session.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer

116 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

For CRM users, the Main Menu appears as:


• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
After defining an input control in the Input Rules > Page and Inputs sheets, click the Input Rules > Inputs > Detail
> On Leave sheet. Select the control (for which the On Leave expression is being built) from the tree display and
click Edit to use the Expression Builder. Its purpose is to establish expressions containing conditions that determine
how input values are evaluated in controls that are placed on a configuration input page. Refer to the Expression
Builder / Content Functions and Express Builder Functions sections for detailed information.

Logic/Algorithms

During an actual configuration session, the Epicor application processes On Leave logic when you physically leave
a control during a configuration session. On Leave logic should never accompany a display-only input.
• If On Leave logic is defined on the first input that updates the value of a second input, and On Leave logic is
also defined for the second input, the Epicor application does not process the On Leave logic for the second
input.
• It also processes dynamic list logic (if any) when you leave any control that has associated On Leave logic. It
processes the dynamic list logic after the On Leave logic has been processed.
• If On Leave logic is defined for the first input that updates the value of a second input, and a dynamic list
exists on another combo box input that is dependent on the value entered in the second input, it processes
the dynamic list logic using the new value that is assigned in the second input.
• The Process Dynamic Lists Before On Leave Expressions For This Page check box in the Input Rules >
Page Detail sheet allows you to designate if you would like the Epicor application to process dynamic list logic
before the On Leave logic for all Combo box controls on a specified input page. This allows processing in a
manner opposite to how it normally operates.

Examples

Example 1
Wavy Rider Products created a Browser type of input control in the Configurator Designer - Input Rules - Page
sheet that is populated with the full-color picture of the boat, based on the model that was selected in the Model
Selection combo box using a dynamic list, program and external list. An On Leave expression with the following
conditions could be created to accomplish this task:
c:/epicor/mfgsys80/server/ud/test/filelookup.p ("C:\lookups\modeldata.csv","picture",p01_cmb_model,output
p01_BRS_Model_Pic).

Example 2:
During testing of the Configurator Inputs, Wavy Rider Products personnel discovered that either or both of the
selections for a Fish Finder can be chosen (see Prompt When section example for details). Since standard and
GPS-enabled Fish Finders cannot be added to a pontoon boat, a method must be devised in the Configurator to
disable one of the selections. These check boxes must be "mutually exclusive." In lieu of using a radio set, they
have elected to add the following On Leave conditional expression for the standard Fish Finder:

Epicor ERP | 9.05.702 117


Implementation Components and Calculations Configurator Technical Reference Guide

If P01_TGL_Fish_Finder_Std = True Then Do: P01_TGL_Fish_Finder_Upgrade = False. End.


For the GPS-enabled Fish Finder, they have added the following On Leave conditional expression:
If P01_TGL_Fish_Finder_Upgrade = True Then Do: P01_TGL_Fish_Finder_Std = False. End.

Input Rules > Page Detail

Use the Configurator Designer > Input Rules > Page Detail sheet to apply On Leave and Prompt When rules for
an entire input page during an actual configuration session in Order Entry, Opportunity/Quote Entry, Purchase
Order Entry, Job Entry, or Demand Entry. Refer to Input Rules > Prompt When,Inputs Rules > On Leave and
Input Rules > Inputs > Detail > Dynamic List for more details. You would use the Input Rules > Page Detail
sheet when the logic for an entire page is consistent and you wish to apply it to a broader scope than just the
fields.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer

118 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

For CRM users, the Main Menu appears as:


• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
As you design an input page using the Input Rules > Page and Input Rules > Input Rules > Inputs sheets, click
the Input Rules > Inputs > Page Detail sheet to define the attributes for the entire page. These are the values
you can modify for the item:
• Page Sequence - Select the number of the input page to which the logic should apply. The page sequence
is the same number that is defined in the Page Number form (it can be accessed when New / New Page is
selected from the File menu).
• Once the page number is selected in this form, it cannot be updated on the Input Rules > Page Detail
sheet.
• The page sequence is similar to the tab order that is defined for inputs. When configuring a part in an
actual configuration session, this page sequence is the order in which the pages display to the user when
clicking the Next Page or Previous Page buttons.

• Page Title - Enter the free-form title for the Input Page being created for this configuration. This title displays
in the Input Page during an actual configuration Q&A session in Opportunity/Quote Entry, Order Entry, Purchase
Order Entry, Job Entry or Demand Entry.
• Width - Enter the total width (in pixels) for the Input Page being created for this configuration.
• Height - Enter the total width (in pixels) for the Input Page being created for this configuration.
• Do Not Process On Leave Expressions When Page Loads - When an input page normally loads during a
configuration session, the Epicor application normally loads all On Leave expressions that have been defined
for the input page in the Input Rules > On Leave sheet, and for specific controls (fields) in the Input Rules >
Inputs > On Leave sheet before data entry commences.
• Select this check box to skip this normal loading of On Leave expressions when the input page first appears
during a configuration session. This is useful when you wish to suspend or prevent processing of On Leave
expressions for the input page during a configuration session.
• When a page loads, it processes all On Leave logic that may exist for the current page. In some situations,
you do not want On Leave logic processed until certain previous inputs have been populated by a user.
This checkbox is useful when you wish to suspend or prevent the initial processing of On Leave expressions
for the input page during configuration sessions; it only suspends the initial processing. When physically
leaving specific controls on the page, it still processes On Leave expressions.

• Only Process Dynamic Lists with Higher Tab Sequences - Select this check box to only process dynamic
lists for controls (combo boxes) that are higher in the input page, in terms of tab order, than the current field
a user is leaving.
• This provides for enhanced performance of the input page during configuration sessions involving highly
-complex, large-scale configurations.
• If this checkbox is left cleared, it processes the dynamic list logic for the entire page when leaving a control.

• Process Dynamic Lists Before On Leave Expressions For This Page - During a normal configuration
session, On Leave expressions are first evaluated before dynamic list conditions for a combo box control.

Epicor ERP | 9.05.702 119


Implementation Components and Calculations Configurator Technical Reference Guide

Selecting this check box designates that dynamic list conditions should be evaluated and processed before
On Leave expressions for all combo box controls on the input page.
• Skip page if all inputs are disabled or invisble - Select this check box to process any Prompt When
expressions associated with the input page, but skip display of the input page itself during a configuration
session if all inputs are disabled or are invisible (either if designated as such in the Invisible check box in the
Input Rules > Inputs > Detail sheet, or when inputs are dynamically displayed or disabled based on specified
rules).
• Process Input On Leave Expressions If Page Is Skipped - If the Skip page if all inputs are disabled or
invisble check box has been selected, select this check box to designate that any On Leave Skip expressions
that have been defined for controls on the input page should still be processed even if the input page itself
is being skipped.
When changing pages during the configuration process, the Epicor application processes any On Leave logic that
may be defined for each specific input on the input page.
• It then processes the page -level On Leave logic.
• If an On Leave expression is added at the page level that updates or changes an input value, and an On Leave
expression is associated with a specific input that updates the same input with a different value, the page
-level On Leave logic overwrites what is defined at the input level. The resulting value of the input is the result
of the page-level On Leave expression.

Input Rules > Prompt When

120 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Use the Input Rules > Prompt When sheet to specify Prompt When conditions for a particular input page during
an actual configuration session. You can build expressions using the Expression Builder that, if satisfied (is true)
enable display of a page during a configuration session. Conversely, if the condition is false (is not satisfied), the
page is disabled (does not appear) during the session.
• Note that the settings in the Configurator Designer > Input Rules > Page Detail sheet have a profound impact
on how Prompt When expressions are loaded and handled when an input page is processed during an actual
configuration session. Refer to the Input Rules > Page Detail topic for detailed information.
• Refer to the Input Rules > Inputs > Prompt When section for more information on how to use this sheet.
You would use the Input Rules > Inputs > Prompt sheet in place of this sheet if you wish to specify the
conditions under which a particular control (field) should appear on an input page during an actual
configuration session.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer can also be accessed from the Revisions sheet in Part Maintenance. Refer to Assemblies
and Subassemblies for details on how to launch Part Maintenance from the Main Menu.

Epicor ERP | 9.05.702 121


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > On Leave

Use the Input Rules > On Leave sheet to specify the conditions that designate the actions that should take place
when exiting a particular input page during an actual configuration session. For example, you can build
expressions using the Expression Builder that assign values to other inputs after leaving the current control or
field, or that call external programs to perform additional processing.
• Note that the settings in the Configurator Designer > Input Rules > Page Detail sheet have a profound impact
on how On Leave expressions are loaded and handled when an input page is processed during an actual
configuration session. Refer to the Input Rules > Page Detail topic for detailed information.
• Refer to the Input Rules > Inputs > On Leave section for more information on how to use this sheet. You
would use the Input Rules > Inputs > On Leave sheet in place of this sheet if you wish to specify the conditions
that designate the actions that should take place when exiting a particular input control during an actual
configuration session.

122 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.

Epicor ERP | 9.05.702 123


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Pricing > Options

Use the Options sheet to (optionally) enable component pricing for the configuration.
• When enabled, the Epicor application uses existing component pricing defined in Price List Maintenance when
the product is being configured in Opportunity/Quote Entry, Order Entry, Purchase Order Entry or Demand
Entry.
• It also applies the appropriate supplier pricing defined in the Supplier Price List Maintenance program to direct
(drop shipment) purchase orders generated for multi-company configurations.
If you are using the Configurator in a multi-company environment, use the Automatically Mark Methods
Global check box as needed to designate if, when this base part is configured in a multi-company environment,
the resulting enterprise part should automatically be flagged as Global.
• This allows the associated method of manufacture (generated when saving a configuration after completing
a configuration session) to be exported by the Multi-Company Configuration Process.
• This results in the linking of the associated material content to external companies.

124 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

When a configured part has configurable subassemblies, and on an order, quote, purchase order or demand
order pricing configuration, the Epicor application adds the pricing structures from the subassemblies and the
main part, resulting in a new unit price for the configured item.
These are the values you can modify for the item:
• Use Component Pricing - Specifies if global component pricing should be used for the entire configuration.
If selected, the Epicor application calculates the component price using the resulting bill of material, based
on the price lists of each remaining components after all applicable method rules have been applied. The
resulting component price is the total component price plus any additional input pricing that may have been
defined. Clear this check box to skip use of component pricing. In this scenario, the Epicor application uses
the pricing parameters defined in the Input Rules > Pricing > Order > Detail and Input Rules > Pricing > Quote
> Detail sheets to calculate pricing during a configuration session.
• Automatically Mark Methods Global - Designates if, when this base part is configured in a multi-company
environment, the resulting enterprise part should automatically be flagged as Global.
• Select the check box if the base part should be flagged as Global when configured in a multi-company
environment. This allows the associated method of manufacture (generated when saving a configuration
after completing a configuration session) to be exported by the Multi-Company Configuration Process;
this results in the linking of the associated material content to external companies. Once each material
part has been linked in the external company, component pricing can be used for the enterprise configurator
part in the external company.
• Clear the check box if each material part contained in the resulting method of manufacture must be
manually marked as Global in Part Maintenance; if not marked as Global, the associated part is not
available for component pricing in the external companies.
Note This check box should be used only if the Enterprise Configurator check box been selected for
this base part in the Configurator Designer > Status sheet, and the Use Component Pricing check
box has also been selected in the Pricing > Options sheet). It does not apply to configurations performed
in a single-company environment.

Epicor ERP | 9.05.702 125


Implementation Components and Calculations Configurator Technical Reference Guide

Logic/Algorithms

The Use Component Pricing check box in this sheet allows you to specify if you would like to use existing
component pricing as the product is being configured in Opportunity/Quote Entry Order Entry, Purchase Order
Entry or Demand Entry.
Often times, components that are part of the method of manufacture for a product are already linked to existing
price lists in the Epicor application, and can also be sold separately on sales orders. If you select this check box,
it designates that the standard component price lists that have already been defined in the Price List Maintenance
program should be used for pricing as the product is being configured.

Order Pricing
The Epicor application processes component pricing for the configuration in the following manner:
• As a user progresses through the configuration process, it applies the appropriate structure and inputs rules
(including document rules) to create a virtual BOM it uses to determine the list of materials for the configuration.
If the quotation already has a BOM, it uses that BOM for determining component pricing.
• Price lists depend on quantity breaks to determine the price for a part or a product group item. For each
component, Epicor application finds the appropriate unit price in the price list that is linked to the customer,
customer group or the part master, based on the order quantity, and the quantity per parent settings defined
in the method of manufacture. It calculates any applicable quantity breaks to determine the actual unit
component prices to use.
• It then adds any additional pricing options defined in the Input Pricing > Order > Detail or Input Pricing >
Quote > Detail sheets for the configuration to calculate the unit pricing of the configuration. This similar to
how the Epicor application determines component pricing for a sales kit item.
• It multiplies the component prices by the order quantity of the components. It then adds the extended order
prices of each component to calculate a total configurator price. This configurator price is then used in standard
pricing options to calculate the order line price.

Quote Pricing
For quotations, the Epicor application calculates pricing in a similar manner, based on the entries in both the
Order Quantity and Expected Quantity fields.
• The Order Quantity field indicates what the order quantity should be if the quotation is converted to a sales
order at some point.
• The Expected Quantity field is used for estimation purposes; pricing is based on quantity break lines.
Quotations are not based on a method of manufacture but instead are based on production details. The Epicor
application uses these production details to calculate the unit price of each component and the total price for
each price break.

Purchase Order Pricing


The Use Component Pricing check box also applies the appropriate supplier pricing defined in the Supplier
Price List Maintenance program to direct (drop shipment) purchase orders generated for multi-company
configurations. It processes purchase order pricing in a manner similar to how the order pricing operates, but
applies the appropriate purchase order pricing based on the quantity breaks specified for the supplier and part
number in the Supplier Price List Maintenance program.

126 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Input Rules > Pricing > General > Input Pricing > Order / Quote / Purchase /
Demand > Detail

Use the sheets located under the Input Rules > Pricing > General > Input Pricing tab to maintain logic and
parameters used in pricing a configured part during an actual configuration session.
• Use the Order > Detail sheet to maintain logic and parameters used in pricing a configured part during an
actual configuration session in Order Entry.
• Use the Quote > Detail sheet to maintain logic and parameters used in pricing a configured part during an
actual configuration session in Opportunity/Quote Entry.
• Use the Purchase > Detail sheet to maintain logic and parameters used in pricing a drop ship purchase order
generated from a configuration.
• Use the Demand > Detail sheet to maintain logic and parameters used in pricing a configured part during
an actual configuration session in Demand Entry.
These sheets allows you to specify the input controls and values for which base pricing is being calculated. You
specify pricing structures, operator (plus, minus, multiply, and divide) and multiplier expressions for specific input
controls to use with the base pricing when the part is configured. These sheets are especially useful if the cost
of the configuration varies based on the selection of the material used in the configuration. When a configured
part has configurable subassemblies, the Epicor application adds the pricing structures from the subassemblies
and the main part, resulting in a new unit price for the configured item. Selections on the Actions menu allow
you to clone order pricing parameters once you have established quotation pricing logic, or clone order pricing
parameters once you have established order pricing logic.

Epicor ERP | 9.05.702 127


Implementation Components and Calculations Configurator Technical Reference Guide

Once order, quote or purchase order pricing has been defined for specific inputs and input values, it can be tested
by selecting Test Input on the Actions menu. You then enter values into the configuration input page in the
normal manner. After you have saved the configuration, the following message is displayed, reporting the resulting
values of the order and quote price calculated using the values entered in the input page. This message is only
displayed when testing inputs within the Configurator Designer:

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
Select the appropriate sheet (Order > Detail, Quote > Detail, or Purchase > Detail) under the Input Rules > Pricing
> General tab. To create a new input order, quote, purchase order or demand order pricing parameters, select
New from the File menu, and then click New Order Price, New Quote Price, Purchase Price) or New Demand
Price. These are the values you can modify for the item:
• Input - Select the input control for which pricing parameters are being defined.
• Value - Enter the input value that is subject to the pricing logic being defined. For example, if you were
entering pricing logic for a Memory selection combo box, you would enter 500MB if that is the option selection
that is subject to the pricing logic. To apply the same base pricing to all values for a specific input, leave this
field blank and select the All Values check box.
• All Values - Select this checkbox if the pricing logic applies to all possible input values in the combo box. For
example, select the check box if you are applying the same pricing to all memory selections for a Memory
combo box, such as 500 MB, 1GB or 2GB. Leave the check box cleared if you wish to apply different base
pricing to different option selections for the same control.
• Price For Value - Enter the starting base price amount that should apply when the specified value is selected
in the designated input (or for all values if the All Values check box has been selected) during a configuration
session.
• For example, enter 50.00 if the base price for the 500MB memory should be set at 50.00 when that option
is selected during the configuration session.

128 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• If you select an operator in the Multiplier field, the Epicor application applies the selected operator and
the expression statement syntax you define (if any) to the base price to calculate pricing for the selected
input control.

• Multiplier - Select the operator used to calculate the pricing for the input, using the base pricing specified
in the Price For Value field, and the expression statements that you create in the field that follows. To create
expression statement syntax, click Edit to use the Expression Builder to build the statement. Refer to the
Expression Builder / Content Functions and Express Builder Functions sections for detailed information.
Select one of the following operators:
• Price plus- Adds the base price to the result of the expression statement.
• Price minus - Subtracts the base price from the result of the expression statement.
• Price multiplied by - Multiplies the base price by the result of the expression statement.
• Price divided by - Divides the base price by the result of the expression statement.
• <Unused> - No operator being used (default).

Logic/Algorithms

When a configuration is saved, the Epicor application retrieves all values that were entered into each input during
the configuration session, and processes the inputs/values for which order, quote, purchase or demand order
pricing parameters were defined in the Configurator Designer > Input Rules > Pricing > General > Input Pricing
> Order / Quote / Purchase / Demand > Detail sheets.
It totals all input pricing that is dependent on the retrieved values for the other inputs and updates the order,
quote or purchase order unit price when the configuration is saved.

Epicor ERP | 9.05.702 129


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Part > Creation

Use the Configurator Designer > Input Rules > Part > Creation sheet to define parameters that designate if and
how part records should be entered or created when an item is configured during an actual configuration session
in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry, and the configuration
is saved. Part creation functionality can be defined for top assembly, as well as subassembly configurators.
When Part Creation (or Smart String creation) parameters are defined for a subassembly configured part, the
Epicor application processes these parameters for the lower level configured part when the associated top-level
configuration is saved during a Configurator Q&A session.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer

130 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Important This program is not available


®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu. The Input
Rules > Part > Creation sheet can be selected as soon as a new configuration has been created in the Configurator
Designer sheet.
The settings on this sheet aren't specific to configuration inputs; they apply to the entire configuration. These
are the values you can modify:
• Create a new part number for each configuration - Select this check box to automatically create a part
number each time a new configuration is created (saved) for the base configured part in a configuration
session. If this check box is cleared, none of the remaining fields on the Input Rules > Part > Creation sheet
are enabled; their operation is all dependent on selection of this check box.
• Set Part Number Only - Select this check box to generate a part number, but skip creation of a Part record
itself. Clear the check box to generate a part number and create an actual record in the Part table. The
generated part number is assigned to the quote line, order line, job, purchase order or demand order according
to where the base configured part is being configured.
• Save Input Values - Select this check box if the input value settings entered in a configuration session should
be saved in the record for the new configured part and revision number, and should not be linked to a specific
quote, order, job, purchase order or demand order. It can then be used "as-is" on any quote, order, job,
purchase order or demand order without the need for reconfiguration.
This check box is useful because it allows you to define a collection of pre -configured parts (with saved input
values that "travel" with the part) that can be reused at a later time. This ensures that when Get Details sheet
is used in Job Entry, the Epicor application uses the correct engineering structure at the time it creates an
associated job order. In fact, if the part is reused at a later time, and an attempt is made to reconfigure the
part, the following warning message is displayed, preventing this from occurring:
"Part number xx already exists for yy configuration. Input values will not be saved to avoid overwriting the
existing part information."
Note Pricing Rules and Document Rules are still re-processed even though the values were not saved.

• If the design of the base configured part is changed in the Configurator Designer, it allows you to reconfigure
the part so that it can process any changes that may have been made in the Designer. When saving the
configuration, the Epicor application displays the following message asking if you want to overwrite the
existing configuration: If you click Yes, any input values that may have changed during the current configuration
process are saved in the database.

Note The Epicor application stores the saved input values by the part number that it generates when you
save the original configuration using the Part Creation logic. Clicking Yes affects the configuration of all
existing quotes, orders, jobs, purchase orders or demand orders that contain this generated part number.
The part number on all of these transactions all share the same saved input values; if you change it in one
place, it changes the configuration everywhere the part is used.
By default, the Epicor application generates methods (using the resulting job method) after it has processed
any Keep When and Set Field rules on job records. Correspondingly, the Generate Methods Using
Resulting Quote Method check box allows you to designate if the Epicor application should generate

Epicor ERP | 9.05.702 131


Implementation Components and Calculations Configurator Technical Reference Guide

methods (using the resulting quote method) on quote records after it has processed any Keep When and
Set Field rules on quote records. Select the check box to perform this task; clear the check box to skip this.
• When the Save Input Values check box has been selected for the configuration being defined, the
Epicor application creates a part and method but it still handles the new part as a configured part,
allowing a user to reconfigure it (if the base configured part has changed in the Configurator Designer).
When using Get Details in Opportunity/Quote Entry or Job Entry, the Epicor application gets material
and labor detail information from the method of manufacture defined for the base configured part,
rather than from the method of manufacture defined for the base part.
• If you select the Use Generated Method When Getting Details checkbox, it overrides this behavior;
when using Get Details in Opportunity/Quote Entry or Job Entry, the Epicor application gets material
and labor detail information from the generated method of manufacture for the configured part being
used, rather than from the method of manufacture defined for the base part. If you clear this check
box, it operates in the normal manner, as described earlier in the previous paragraph.

• Available Methods - Specify the method being used to assign a part number in the configuration session
(rather than generate one). Select one of the following:
• Use Smart String as the new part number - Use the Smart String generated in the configuration session
as the new part number. Refer to Input Rules > Part > Smart String for more details.
• Prompt for a new part number - During a configuration session, the Epicor application displays a message
prompting for manual entry of a part number for the configuration when the configuration is saved.

• If you select the Save Input Values check box, the Epicor application automatically selects the
Opportunity/Quote Entry, Order Entry, Job Entry and Demand Entry check boxes in the Create new
parts in section of this sheet, and also selects the Automatically Create a new part number check box.
• Job Entry - Select this check box to allow entry of a new part number for use of the Smart String when
the item is configured in Job Entry. It is automatically selected if the Save Input Values check box, which
is also on this sheet, has been selected.
• Order Entry - Select this check box to allow entry of a new part number or use of the Smart String when
the item is configured in Order Entry. It is automatically selected if the Save Input Values check box,
which is also on this sheet, has been selected.
• Quote Entry - Select this check box to allow entry of a new part number or use of the Smart String when
the item is configured in Opportunity/Quote Entry. It is automatically selected if the Save Input Values
check box, which is also on this sheet, has been selected.
• Demand Entry - Select this check box to allow entry of a new part number or use of the Smart String
when the item is configured in Demand Entry. It is automatically selected if the Save Input Values check
box, which is also on this sheet, has been selected.
• Automatically create a new part number - Select this check box to automatically create part numbers
in the Part file; in this scenario no message is displayed during a configuration session. Clear the check
box to display the following message in a configuration session asking the user if a new part number
should be created: The following input window appears in the configuration session after clicking Yes:
Note that this check box is automatically selected when the Save Input Values check box has been
selected.

132 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Do not notify the user if the new part number already exists - Select this check box to skip display of
a notification during a configuration session when a duplicate part already exists. Clear the check box to
display a warning message when a duplicate part already exists. If a part with the new name already exists,
the existing part record is not changed.
• Create new part number at zero cost - Select this check box to set the cost of the new part at zero. If the
check box is cleared, the cost of the base part is used as the cost of the new part.
• Create Alternative Methods - Select the check box if alternate method records should be created in other
plants when a configuration part is created (when the universal base part is configured during a configuration
session in the current plant). Clear the check box if alternate method records should not be created in other
plants when a configuration part is created (when the universal base part is configured during a configuration
session in the current plant).
• Remove Link From Base Configured Part - If you select the Create a new part number for each
configuration and the Save Input Values check boxes for the base part, the Epicor application creates a
new part number and generates a method of manufacture when a configuration created for the base part is
saved after completing a Configuration session (existing functionality). It automatically links this newly created
part number back to the base part number, allowing it to be reconfigured at any time.
• When you select this check box, the Epicor application removes the link back to the base configured part.
When you do this, the newly created part is treated as a standard part and no longer considered a
reconfigurable part.
• Clear the check box to skip removal of the link back to the based configured part. In this case, the part is
still considered a reconfigurable part.

• Create Revision - When the Create a new part number for each configuration check box has been
selected, the Epicor application creates a new part number when you save a configuration after completing
a Configuration session.
• Select this check box if the Epicor application should also create a new part revision record for the newly
created part when you save a configuration after completing a Configuration session.
• Clear this check box to skip creation of a new part revision record when you save a configuration after
completing a Configuration session.

• Generate Method - Normally, when you select the Create a new part number for each configuration
check box, and clear the Save Input Values check box, the Epicor application creates a new configured part
when you save a configuration after completing a Configuration session); however, it does not generate an
associated method of manufacture.
• If you select the Generate Method check box, the Epicor application also generates a method of
manufacture at the same time. It works in a manner similar to the Save Input Values functionality; it
processes associated method rules and generates a method of manufacture based on the application of
the method rules. Unlike the Save Input Values functionality, it does not save the input values for later
reuse.

Epicor ERP | 9.05.702 133


Implementation Components and Calculations Configurator Technical Reference Guide

• Clear this check box if a method of manufacture should not be created when a new part has been created
upon completion of a Configuration session for the base configured part.

• Prompt For Checkout - Specifies if Part Revision Checkout should automatically display when a configuration
is saved after completing a Configuration session. This can be used if the Epicor application is creating a new
part revision record when a configuration is saved during a Configuration session (which takes place if you
select the Save Input Values or Create Revision check boxes for the base part).
• If you select this check box, it specifies that Part Revision Checkout should automatically display when a
configuration created for the base part is saved after completing a Configuration session. This allows for
check out of the newly created configured part revision to the Engineering Workbench.
• Clear the check box to skip display of Part Revision Checkout when a configuration is saved after completing
a Configuration session

• Default ECO Group - If the Prompt For Checkout check box has been selected, you can use this field to
specify the default value that should appear in the ECO Group field in Part Revision Check Out (invoked when
you use the Check Out Revision selection, located under the Revision submenu in the Part Maintenance
Actions menu).
Enter the ECO Group number (as defined in ECO Group Maintenance), or click Default ECO Group to access
ECO Group Search to browse a listing of valid ECO Group numbers.

Logic/Algorithms

Refer to Verify Existing Configurations for more details on how this program affects configured parts for
which the Save Input Values check box has been selected.
Refer to Verify Existing Configurations for more details on how this program affects configured parts for which
the Save Input Values check box has been selected.
Each time a configured part is approved in the Configurator Designer, the Epicor application assigns a configuration
version to the main configuration record, and each time the configuration is unapproved and reapproved in the
Configurator Designer, it increments this value by one. When a configuration is saved during a configuration
session in Opportunity/Quote Entry, Order Entry, Job Entry, Purchase Order Entry or Demand Entry, the Epicor
application saves the input values (that were entered by the user) with the same configuration version number
as the main configuration record for current base configured part.
If the Saved Input Values checkbox has been selected in the Input Rules > Part > Creation sheet, and you choose
to reconfigure one of the newly created part numbers in Opportunity/Quote Entry, Order Entry, Purchase Order
Entry, Job Entry or Demand Entry, the Epicor application compares the configuration version of the saved input
values against the base configured part record. If they differ, the following message is displayed:

If you click Yes, it saves any changes that may have been made to the input values while you reconfigured the
part. If the configuration versions were the same, it displays a message stating a part number already exists for
this configuration and it doesn't save any of changes made to the input values.

134 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Example

Wavy Rider Products decided that want to include part numbers on sales order and quotes, but did not want to
create new part numbers in the Part master database table.
Their personnel entered the following parameters into the Product Configuration > Input Rules > Part > Creation
sheet:

Epicor ERP | 9.05.702 135


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Part > Smart String

Use the Input Rules > Part > Smart String sheet to define if or how a special identifying number (a Smart String,
or unique part number) should be constructed to identify a configuration of this part, based on the entries made
during an actual configuration session in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry,
Purchase Order Entry or Demand Entry. This smart string identifies the configuration for customer reference, and
it (optionally) prints on quote or order acknowledgment forms associated with this part. Smart creation functionality
can be defined for top assembly, as well as subassembly configurators.
• This logic is valuable when you wish to identify a specific configuration in a long list of revisions or identify it
for your customer's reference.
• The Input Rules > Part > Smart String sheet also allows you to specify additional parameters for creation of
Smart String identifiers - how they should be prefaced, if they should included as a description on various
types of records, and if they should be included in comments printed on specific documents.
• When Smart String (or Part Creation) parameters are defined for a subassembly configured part, the Epicor
application processes these parameters for the lower level configured part when the associated top-level
configuration is saved during a Configurator Q&A session.

136 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
The Input Rules > Part > Smart String sheet can be selected as soon as a new configuration has been created in
the Configurator Designer sheet. The settings on this sheet aren't specific to configuration inputs; they apply to
the entire configuration. These are the values you can modify:
• Smart String Structure - This field displays the resulting structure of the Smart String as you specify the
parameters being used for its construction. The field is for display only.
• Available Styles - Specify the basis of how the Smart String should be constructed. Select one of the following:
• No Smart String Functionality - No Smart String should be created.
• Smart String Constructed from Inputs - The Smart String should be constructed based on inputs entered
by the user when the part is configured during an actual configuration session in Order Entry,
Opportunity/Quote Entry, Job Entry, Purchase Order Entry or Demand Entry. When this option is selected,
you must specify the selected inputs on which the Smart String is being based using the selected input.
• Part Number + Order Number/Quote Number + Order/Quote Line - The Smart String should be
constructed from the part number, the number of order or quote, and the line number from the order or
quote.
• Part Number + Sequential Number - Smart String should be constructed from the part number and a
sequential number.

• Separator Character - Specify the delimiter character that should separate the individual element sections
of the Smart String. Select one of the following:
• Dash (-) - Delimits the individual elements with a dash.
• Space ( ) - Delimits the individual element sections with a space.
• Slash (/) - Delimits the individual elements of the Smart String with a slash.
• Underscore (__) - Delimits the individual elements with an underscore.
• No Separator - No delimiters separate the individual elements.

Epicor ERP | 9.05.702 137


Implementation Components and Calculations Configurator Technical Reference Guide

• Digit Structure - If the Part Number + Order Number/Quote Number + Order/Quote Line option was
selected in the Available Styles field, specify the structure of the digits for the Smart String. Select one of
the following:
• All Digits (00000999) - The significant digits of the Smart String should be preceded by leading zeroes.
The significant digits are comprised of the individual elements sections of the Smart String, in this case
the order/quote number and the order/quote line item.
• Only Significant Digits (999) - The digit structure only includes the significant digits of the Smart String
(no leading zeroes).

• Starting Sequence - If the Part Number + Sequence Number option was selected in the Available Styles
field, specify the starting sequence number for the Smart String (for example, 1000). As each Smart String is
generated, this sequence number automatically increments by one.
• Available Inputs / Selected Inputs - Click Available Inputs to display a list of available inputs; one or more
of the inputs can be selected. After clicking OK, it populates the Selected Inputs field. The Selected Inputs
field establishes which inputs should be included in the Smart String for a configuration of the part.
• Use the up and down arrows to establish the order of appearance of inputs.
• Click Format to access the Smart String Display Format window to specify the formatting of the value
(entered for the selected input during a configuration session) and how it should appear in the resulting
Smart String. For example, if you have selected a combo box, you can specify the value that should be
displayed in the resulting Smart String when each option is selected for the combo box during the
configuration session.
• The formatting information options that appear in the Smart String Display Format window are dependent
on the type of selected input, and are similar to those available in the Input Rules > Inputs > Detail sheet.
Refer to the Input Rules > Inputs > Detail section for detailed information.

• Preface w/Part Number - Select this check box if the Smart String should begin with the part number for
the part being configured.
Note that once you select an input for construction of the Smart String, it cannot be easily removed from the
Selected Inputs list (the Cut command cannot be used in this situation). To clear the inputs from the Smart
String and reselect the correct inputs, select No Smart String Functionality in the Available Styles field, and
then select Smart String Constructed From Inputs again.
• Customer Part Number - Select this check box if the customer part number displayed in Order Entry or
Opportunity/Quote Entry should include the resulting Smart String generated during an actual configuration
session.
• Order/Quote Comments - Select this check box if the order comments on sales orders, and quote comments
on quotes should be updated with the resulting Smart String generated during an actual configuration session.
• Job/Pick List Comments - Select this check box if the pick list comments on sales orders, and if the job
comments on quotes should be updated with the resulting Smart String generated during an actual
configuration session.
• Packing Slip Comments - Select this check box if the packing slip comments on sales orders should be
updated with the resulting Smart String generated during an actual configuration session.
• Invoice Comments - Select this check box if the invoice comments on sales orders should be updated with
the resulting Smart String generated during an actual configuration session.
• Part Description - Select this check box if the Smart String generated during an actual configuration session
should be the actual part description on orders, quote lines or job lines (on the associated orders, quotes or
jobs). If this check box is selected, the Smart String also becomes the new part description if new part records
are being created during the configuration session.

138 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Logic/Algorithms

After clicking Save during an actual configuration session, the Epicor application determines if an available style
has been defined for the configured part (in the Available Styles field in the Configurator Designer > Part >
Smart String sheet) prior to saving the input value records. If an available style was selected, the Epicor application
builds the Smart String according to the selected parameters defined in the Input Rules > Part > Smart String
sheet.
Once it builds the Smart String, it verifies if any of the "assignment" parameters were specified for the configured
part in the Input Rules > Part > Smart String sheet and update the appropriate fields accordingly on the associated
order, quote, job, purchase order or demand order.
When saving a configuration, the Epicor application processes all of the selections made in the Input Rules > Part
> Smart String sheet. For example, if the Customer Part Number check box has been selected, it updates the
Customer Part Number field in Order Entry or Opportunity/Quote Entry with the newly created part number.
When using the Get Details sheet in Job Entry, it also processes all applicable rules to determine the exact material
and operations content for the Method of Manufacture for the newly configured part. Therefore, if you create
a Set Field rule that updates the value of the customer part number on the quote, it overwrites the newly created
part number that was assigned to the Customer Part Number field with the new customer part number that
results from processing of the Set Field Rule.

Example

Wavy Rider Products has decided to use the Smart String Constructed from Inputs option to construct the
Smart String for their pontoon boat configurations. This instructs the Epicor application to create a Smart String
based on inputs entered by the user when the part is configured during an actual configuration session in Order
Entry or Quote Entry.
• They have also elected to use the following options in the Input Rules > Part > Smart String page:
• Automatically create a new part number - Selected
• Do not notify the user if the new part number already exists - Selected
• Create new part number at zero cost - Cleared
• Create New Part Number In:
• Quote Entry - Selected
• Order Entry - Selected
• Job Entry - Selected
• Demand Entry - Selected

In the Input Rules > Part > Creation sheet, Wavy Rider Products has elected to use the following options in
conjunction with the Smart String creation options:
• Create a new part number for each configuration - Selected
• Set Part Number Only - Selected
• Available Methods - Use Smart String as the new part number

Epicor ERP | 9.05.702 139


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Document Rules

Use the Input Rules > Document Rules > Detail sheet to define document rules. Document rules allow for updating
of source transactions (such as quotes, sales orders, jobs or purchase orders) that initiated the configuration.
They can be used in a single-company environment, or with an Enterprise Configurator in a multi-company
environment.
• In earlier versions of the Epicor application, the associated quote or job order header, detail, and release
records could only be updated by performing a Get Details operation in Opportunity/Quote Entry or Job Entry
using manufacturing rules (now called Method Rules) created for the method of manufacture.
• Now, if you are using the multi-company configuration functions (the Enterprise Configurator check box
has been selected for the configuration in the Configurator Designer > Status sheet), at the time of configurator
synchronization, the Epicor application does not export manufacturing rules or the method of manufacture
to the external Sales companies in which configurations have been created (at the time a quote, order or job
is initially entered).
• Document rules allow for the creation of Calculation, Set Field, and Program Call rules that automatically
update these transactions with applicable data specifically related to the configuration and its manufacture
in the Manufacturing company.
Based on the rule expression syntax, the Epicor application updates the tables and fields defined in the rule with
the appropriate resulting values (also specified in the rule expression). By separating the document rules from
the manufacturing (method) rules, the Epicor application executes these rules against the calling document that
initiated the configuration (quote, sales order, job or purchase order) at the time the configuration is saved. This
eliminates the need to perform a Get Details operation in Opportunity/Quote Entry or Job Entry.

140 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
To add a new document rule, from the File menu, click New, then click New Document Rule. These are the
values you can modify:
• Company - If this document rule is being defined for a product configuration marked as an Enterprise
Configuration in the Status sheet, specify the external company in which the document rule is being
synchronized and executed. If it is being executed in a specific company, select the company. The name of
the selected company appears next to this field. Leave the field blank if the document rule should be executed
in all external company databases, or if you are operating the Configurator in a single-company environment.
• Company Name - Displays the name of the external company in which the document rule is being synchronized
and executed. All Companies displays in this field if no specific company has been selected in the Company
field.
• Edit - Click Edit to launch the Expression Builder to define the Calculation, Set Field or Program Call rule
syntax associated with the document rule. Refer to the Configurator Technical Reference Guide for detailed
information on how to use the Expression Builder to define rules syntax.
• Expression - After you have launched the Expression Builder and have defined the associated the Calculation,
Set Field or Program Call rule, this field displays the rules syntax. The field is for display only.
• Rule Type - After you have launched the Expression Builder and have defined the associated the Calculation,
Set Field or Program Call rule, this field displays the rule type that was selected when the document rule was
created:
• Calculation
• Program Call
• Set Field

• Sequence - Specifies the sequence in which the document rule should be processed when the configuration
to which it is being applied is saved. For example, if you are defining multiple document rules that are being
applied for a specific external company, you can assign a free-form sequence number (for example, 10) that
denotes when a specific rule is being applied. The Epicor application processes rules with lower sequence
numbers before it processes those with higher sequence numbers. The higher on the list (and the lower the
sequence number), the sooner it is invoked. This is important if the results of one rule affect another rule.

Epicor ERP | 9.05.702 141


Implementation Components and Calculations Configurator Technical Reference Guide

• Table - After you have launched the Expression Builder and have defined the associated the Calculation, Set
Field or Program Call rule, this field displays the database table that was selected when the document rule
was created:
• JobHead - Job Header table
• OrderHed - Order Header table
• OrderDtl - Order Detail table
• OrderHed - Quote Header table
• QuoteDtl - Quote Detail table
• POHeader - Purchase Order Header table
• PODetail - Purchase Order Detail table

Logic/Algorithms

Document rules consist of Calculation, Set Field, and Program Call rules that automatically update source
configuration transactions with applicable data specifically related to the configuration and its manufacture in
the Manufacturing company. Based on the rule expression syntax, the Epicor application updates the tables and
fields defined in the rule with the appropriate resulting values (also specified in the rule expression).

Example

Using a Set Field rule, data such as pricing, company code assignment or the description of the sales order line
stored in the OrderDtl table can be assigned specific values based on the components selected in the configuration
session.

142 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Method Rules > Method / Rules

Use the sheets under the Method Rules tab to specify method rules and associated comment text for the
configurator being defined.
• If you are using the multi-company configuration functions (the Enterprise Configurator check box has
been selected for the configuration in the Configurator Designer > Status sheet), a Manufacturing company
defines method rules to specify how a method of manufacturing should be created for use in producing a
part configured in a Sales company. Method rules include Keep When rules that determine specific material
content and designate what components should be included when the configured part is manufactured.
• The Epicor application does not export manufacturing (method) rules or the method of manufacture at the
time of configurator synchronization to the external Sales companies in which configurations have been
created (when a quote, order or job is initially entered). By separating the manufacturing rules and the Method
of Manufacture from the other rules, synchronization of the method of manufacture for a configured part is
not required between the Manufacturing company and external Sales companies. This allows you to protect
proprietary product information from potential distribution to unwanted parties.
• Using tag lineage (rule tags), you can apply differing method rules against the same part number (for
example, same sub -level component) that occurs multiple times in a configuration. This is an optional feature
in the Configurator Designer; you do not have to use it if it does not apply in your operations. You accomplish
this through the use of rule tags applied to components in the Engineering Workbench, and then by using
the tagged references when defining method rules for a product configuration in the Configurator Designer.
Refer to the Using Tag Lineage to Define Multiple Method Rules for the Same Part section in Using
Configurator Rules (Single-Company) for more details.

Epicor ERP | 9.05.702 143


Implementation Components and Calculations Configurator Technical Reference Guide

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
Use the Method Rules > Method sheet to view the method rules that have been defined for the configured part
in the Method Rules > Rule sheet.
• The Method Panel (to the right of the Tree display) displays the method of manufacture currently defined
for the configured part, and also indicates if a component exists multiple times in the method of manufacture.
If you are using rule tags, it generates and displays the tag lineage using the rule tags that have been defined
for each material at each level in the Engineering Workbench > Method Rules > Materials > Detail sheet. You
use this Method Panel to select the specific operation or material to which a method rule is being assigned.
• It also indicates if a component exists multiple times in the method of manufacture. If you are using rule tags,
it generates and displays the tag lineage using the rule tags that have been defined for each material at each
level in the Engineering Workbench > Method Rules > Materials > Detail sheet. Use the Method Panel to
select the specific operation or material to which the method rules is being assigned.
• The Tree View visually displays method and structure rules for the selected product configuration using
a tree structure. This interface lets you quickly view the method of manufacture so you can see what has been
built so far and what might need to be maintained.
Tip Each method item (node) in the tree displays with an icon and descriptive text called a caption.
You can modify the default caption(s) for each node, and you can select other database fields/columns
to display in the tree. To do this, right -click in the Tree View, and select Tree Options from the context
menu. Use the Tree Options window to modify the captions associated with the Tree View and to select
different database columns/fields to display in the tree. To use the Tree Options window, do the following:
• Right -click Tree View and select Tree Options.
• In the Line field, select the for which you want to modify the selected columns or captions.
• If you want to modify the column(s) for the node, use the arrow buttons between the Available
Columns and the Selected Columns group boxes to add or remove columns and to reposition
columns once you have chosen them.
• If you want to modify the caption(s) for the node, enter the new caption text in the Caption field
in the Selected Column Captions area of the window. Click OK.
If you want to restore one node (line) or all nodes to the system defaults, click the appropriate button
at the top of the window.

144 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Select Alt in the tree display to define method rules that apply to Assembly 0 (top-level of a multi-level assembly)
or header records.
• It also allows you to select an alternate revision (if one has been defined for the assembly in the Part
Maintenance Detail > Alternate Method sheet) from the combo box on the Method Rules > Method sheet
and then define method rules for the alternate Method of Manufacture for the configured part.
• If an alternate method is selected from this combo box, the Alt node in the tree displays the alternate method
and alternate method description. For example, if Alt: A -2 Alternate Method 2 is displayed, A-2 is the
alternate method and Alternate Method 2 is the alternate method description that was defined in Part
Maintenance for the alternate method.
• When the alternate method is selected, the Epicor application updates the tree display on the Method Rules
> Method sheet with the method of manufacture that was defined for the alternate method. This allows you
to create a separate set of method rules for the alternate method that differ from the method rules defined
for the regular revision. Only Calculation, Set Field and Program Call rules can be defined when selecting
Alt.
• From the File menu, click New, then click New Method Rule to access the Method Rules > Rule sheet to
define the method rule for the selected item.
To assign method rules to specify operations or materials at specific levels of indenture, click Operations or
Materials on the tree, and then select the item or level at which the method rule is being defined. From the File
menu, click New, then click New Method Rule to access the Method Rules > Detail sheet to define the method
rule for the selected item. All rule types can be defined when selecting operations, operation detail, resources or
materials
• Related Materials appears underneath Operations and denotes materials related to a specific operation.
• Unrelated Materials are materials not related or tied to a specific operation.
• From the File menu, click New, then click New Method Rule to access the Method Rules > Rule sheet to
define the method rule for the selected item.
These are the values you can modify for the selected item:
• Rule - Displays the syntax defined in the Expression Builder for this method rule. The field is for display only.
• Rule Sequence - Displays the sequence in which the method rule should be processed when the configuration
to which it is being applied is saved. For example, if you are defining multiple method rules that are being
applied for a specific external company, the Epicor application assigns the sequence number, and it processes
rules with lower sequence numbers before it processes those with higher sequence numbers.
• The higher it is on the list (and the lower the sequence number), the sooner it is invoked during a
configuration session. This is important if the results of one rule affect another rule.
• From the Actions menu, you can select the Move Rules commands (Move Up, Move Down) to move
selected rules to an earlier or later precedence. You can also use the up and down arrow icons that appear
above the Method Panel to move the method rules up or down with respect to their processing sequence.
• To test rules and make sure they operate correctly once they have been created, select Test Rules from
the Actions menu.

• Type - Displays the rule type (Calculation, Keep When Set Field or Program Call) that has been assigned to
this method rule. Refer to the Configurator Technical Reference for more information about rule types. This
field is for display only.

Epicor ERP | 9.05.702 145


Implementation Components and Calculations Configurator Technical Reference Guide

Use the Rule sheet to view the method rule that has been selected in the Method Rules > Method sheet for the
selected configuration part. You can access the Expression Editor to specify rule expression syntax for for creation
a method of manufacture (operations and materials) for a specific part and revision, based on information selected
during a configuration session.
These are the values you can modify for the item:
• Current Rule Tag Lineage - Displays the generated rule tag lineage, depending on what material, operation,
or operation detail is selected in the Method Panel in the Method Rules > Method sheet. This field is for display
only.
• Edit - Click Edit to launch the Expression Builder as needed to specify the syntax associated with the method
rule being defined for the material, operation, or operation detail selected in the Method Panel in the Method
Rules > Method sheet. Refer to Expression Builder / Context Functions for detailed information on how
to use the Expression Builder to define rules syntax.
• Expression - After you have launched the Expression Builder and have defined the associated method rule
expression, this field displays the specified syntax. This is the expression that is processed when the configuration
is saved. The field is for display only.
• Node - Displays the assembly sequence, material sequence, operation or operation detail sequence that is
currently selected in the Method Panel in the Method Rules > Method sheet. This field is for display only.
• Parent Node - Displays the parent node for the assembly sequence, material sequence, operation or operation
detail sequence that is currently selected in the Method Panel in the Method Rules > Method sheet. This field
is for display only.
• Rule Sequence - Displays the sequence in which the method rule should be processed when the configuration
to which it is being applied is saved. The Epicor application processes rules with lower sequence numbers
before it processes those with higher sequence numbers. The higher on the list (and the lower the sequence

146 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

number), the sooner it is invoked. This is important if the results of one rule affect another rule. This field is
for display only.
• To rearrange the order of rules, select a rule in the Method Panel in the Method Rules > Method sheet,
and from the Actions menu, select Move Rule - Move Up or Move Down.
• You can also use the up and down arrow icons that appear above the Method Panel to move the method
rules up or down with respect to their processing sequence.

• Rule Tag - Specifies if a rule tag is being assigned to this method rule. Keep When rules can then be defined
in the Expression Builder based on the assigned rule tags to handle each part occurrence differently under
different circumstances.
• If a rule tag is entered in this field, the Epicor application only processes this rule if the generated rule tag
lineage for a part contains the same rule tag. Refer to the Using Tag Lineage to Define Multiple Method
Rules for the Same Part topic for more details.
• If no rule tag is entered into this field, the rule is processed for every occurrence of the assembly sequence,
material sequence, operation or operation detail sequence and isn't specific to the current generated rule
tag lineage.

Example

As mentioned in examples earlier in this section, Wavy Rider Products decided to use a single general
"CFGPontoon" universal part that acts as a "placeholder" for subsequent selection of the boat model and all
associated options.
This implies that multiple levels of indenture should be impacted by selection of the boat model, based on its
intended use (Fishing, Family/Leisure or Water Sports).

Epicor ERP | 9.05.702 147


Implementation Components and Calculations Configurator Technical Reference Guide

Status

Use the Configurator Designer > Status sheet to review a log of changes that has already been made for design
of the configuration, or approve/unapprove the configuration design. It also allows you to specify if method rules
can be defined for all levels of indenture in a multi-level Method of Manufacture, and designate if this is a Smart
String configuration. The functionality for the sheet is similar to the part revision change log.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

148 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu. These
are the values you can modify for the item:
• Approved - Select this check box to approve a configuration. You would normally do this is after you have
completed the design and testing of the entire configuration for the selected part revision. Whenever this
check box is changed, the Design of Change field is enabled; you must enter free-form text about the nature
of the design change
• Synchronize Revision Approval - Specifies if approval of the associated part revision and inspection plan
(if any) should be automatically synchronized to the approval of the configured part in the Configurator
Designer. Selecting the check box causes the following to occur:
• If you select this check box, and approve or unapprove the configured part in the Configurator Designer
(using the Approved check box in the Status sheet), the Epicor application automatically approves or
unapproves the associated part revision in the Part Maintenance > Revisions sheet. If you select this check
box, the warning message Revision checked out by ECO Group xxx. Do you wish to approve the
configuration? appears when the configuration status changes and the revision is checked out to an
ECO group.
• If you click Yes, you can continue with the part revision status synchronization.
• If you click No, the part revision status is not automatically updated.

• If you select this check box, the Epicor application automatically synchronizes the approval of the associated
inspection plan (if any) to the approval of the configured part in the Configurator Designer (using the
Approved check box in the Status sheet). The Epicor application either selects or clears the Approve
check box in Inspection Plan Maintenance, based on the setting of the Approved check box in the Status
sheet.
Clear the check box if approval of the part revision and associated inspection plan should not be automatically
synchronized to the approval of the configured part in the Configurator Designer. This skips automatic
synchronization of the Approved check box when the part revision or inspection plan is approved.
• Enterprise Configurator - Select this check box if this is an enterprise configurator. When selected, it also
enables the Synchronize check box in the Status sheet and the External Company field in the Input Rules >
Pricing sheets. Refer to the Product Configuration in a Multi-Company Enterprise topic in the Configurator
Concepts and Base Components section for more details on operating the Configurator in a multi-company
environment.
Clear this check box if this is not an enterprise configurator. If cleared, you cannot access the Structure Rules
tab and accompanying sheets to define structure rules for the configured part. You would clear this check
box if the configuration is being used in a single company environment only. A single company environment
is one in which the configuration defined and used (the part is being configured and manufactured) in a single
company within the same database.
Note You can configure purchased materials associated with enterprise configurator parts when they
are added as material content in Opportunity/Opportunity/Quote Entry and in Job Entry. These are items
for which the Type field has been set to Purchased in the Part Maintenance > Part > Detail sheet, for
which the Enterprise Configurator check box has been selected in the Configurator Designer > Status
sheet.
• To do this for a job, you add the part to the Material node in the Job Entry Tree View. After you
have added the part, simply right-click it, then select Configure to access a Configurator Q&A
session.
• To do this for a quote line, you add the part to the Material node in Opportunity/Opportunity/Quote
Entry > Line > Mfg Details > Tree sheet. After you have added the part, simply right-click it, then
select Configure to access a Configurator Q&A session.

Epicor ERP | 9.05.702 149


Implementation Components and Calculations Configurator Technical Reference Guide

• Synchronize - Select the check box to enable synchronization functions for this Configurator. The receiving
external companies must have an installed Configurator license; however those companies cannot modify
the configurator. The Configurator Designator only displays information in the Part/Rev and Status sheets
in external companies. The Epicor application does not synchronize the Change Log information in external
companies. Note that if this check box is first selected, and then cleared at a later date, the Configurator is
automatically marked as Unapproved in the external companies.
• Display Configuration Summary Grid - Select the check box to display the Configuration Summary grid
when reconfiguring a part using this configuration in Opportunity/Quote Entry, Order Entry, Job Entry, Purchase
Order Entry or Demand Entry. Clear the check box to skip display of the Configuration Summary grid when
reconfiguring a part using this configuration.
• Single Level Configuration - If a multi-level Method of Manufacture has been defined for the part revision
for which the configuration process is being defined, this check box governs the bill of material and operations
levels of the indenture for which method rules can be defined. If the check box is selected, you can define
method rules at the top-level of indenture only. This prevents you from defining method rules for subassemblies.
If it is cleared, you can define method rules for all levels of indenture within the Method of Manufacture,
including subassemblies.
• Smart String Configuration - In a traditional configuration session, after you click the Configure button
in Opportunity/Quote Entry, Order Entry, Job Entry, Purchase Order Entry or Demand Entry, the Epicor
application directly accesses, and sequentially displays each of the configuration input pages you have created
for the current configurator in the Configurator Designer. This check box can be used to (optionally) specify
if, during an actual configuration session, all input values for the configuration can instead be loaded through
manual entry of a 'smart string' that contains concatenated values, each representing a certain aspect of the
configured item.
• When this functionality is enabled, the Epicor application displays a dialog box during the actual
configuration session, prompting you to enter a smart string value. It then attempts to process and load
all associated configuration input values from the supplied string.
• To properly process the smart string values, the Epicor application must understand what the starting and
ending positions are for each of configuration values contained within a typical smart string. For example,
the first string position (Color) might be start in position 1, end in position 2 and represent the color of
the item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the item. To
define these positional values, you use the Configurator Designer > Smart String sheet to designate the
input name, start position and end position for each of the configuration input values.
Clear the check box to operate the Configurator in the traditional manner and skip use of a smart string
configuration (default setting).
Note While similarly named, the Smart String Configuration check box functionality is not related
to the Smart String part functionality defined in the Configurator Designer > Input Rules > Part > Smart
String sheet.

• Allow Reconfiguration in PO - Specifies if (for the configurator being designed for this universal base part
number) a sales order configuration created in Order Entry can be reconfigured on-the-fly in Purchase Order
Entry.
Select this check box to allow reconfiguration in Purchase Order Entry. This enables use of the Configure
button in the Purchase Order > Lines > Detail sheet. This allows a user to (optionally) reconfigure a configuration
created on a sales order when it is formally purchased.
• When a sales order configuration is reconfiguring in Purchase Order Entry, the Epicor application applies
order pricing and Document Rules to the linked sales order line when the configuration is saved.
• Conversely, when the configuration is reconfigured in Order Entry, the Epicor application applies purchase
order pricing and Document Rules to the linked purchase order line when the configuration is saved.
If the Allow Reconfiguration in PO check box has been cleared, the Configure button is disabled in the
Purchase Order > Lines > Detail sheet; this prevents reconfiguration of the sales order configuration when
purchased.

150 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Prompt For Configuration -


Specifies if generation of methods of manufacture in the Engineering Workbench (using the method rules
that have been assigned to this base configured part) should be allowed.
• Select this check box to allow generation of methods of manufacture in the Engineering Workbench using
the method rules that have been assigned to the based configured part.
For example, if you have created a Configurator for base part A (with 20 attached material parts, 15
operations and a series of defined rules, including Method rules), then use the Get Details window in the
Engineering Workbench to get method of manufacture details (associated with the base configured part)
when engineering another assembly part, the following message is displayed:

• If you click Yes, the Engineering Workbench invokes a Configuration session for the specified base
part. This allows you to configure it; when the resulting configuration is saved, the Epicor application
processes the associated method rules, resulting in tailored materials and operations content. This
configured materials and operations detail is then retrieved for engineering of the assembly part.
For example, if the resulting configuration for Part A contains four parts and two operations (after
Method rules have been applied during the Configuration session), only those materials and operation
details are retrieved for use in engineering of the assembly part.
• If you click No, the Engineering Workbench does not invoke a Configuration session for the base part.
In this case, it simply retrieves all materials or operations that have been directly attached to the base
configured part in the Configurator Designer; this is not the tailored content that would have resulted
had a Configuration session been invoked ( because the associated Method rules have not been
applied).
For example, for base part A, the Epicor application retrieves the 20 attached material parts and 15
operations originally attached to the base configured part for use in the engineering assembly part.

• Clear this check box to prevent generation of methods of manufacture in the Engineering Workbench
using the method rules that have been assigned to the based configured part. In this case, the functionality
described above is not available when you attempt to get details for the base configured part. It does not
invoke a Configurator session in this situation.

Logic/Algorithms

The Single Level Configuration check box has a profound impact on how you design the configuration for a
selected part revision. You can configure a part as single-level to be backward-compatible with existing
configurations.
Use of this check box is invaluable if you are running an earlier version of the Epicor application that did not
support multi-level BOMs, and wish to have newly created parts compatible with that version.
Note that if method rules already exist at lower-levels for an indented Method of Manufacture for a part revision,
and you attempt to clear the check box, a warning message appears that states that the lower-level method rules
will be deleted, and asks if you wish to continue. If you click Yes, the Epicor application then deletes all lower-level
method rules for the part revision.

Epicor ERP | 9.05.702 151


Implementation Components and Calculations Configurator Technical Reference Guide

Example

As mentioned in examples earlier in this section, Wavy Rider Products decided to use a single general
"CFGPontoon" universal part that acts as a "placeholder" for subsequent selection of the boat model and all
associated options.
This implies that multiple levels of indenture should be impacted by selection of the boat model, based on its
intended use (Fishing, Family/Leisure or Water Sports). In this case, they would clear the Single Level
Configuration check box so they can define method rules for all levels of indenture within the Method of
Manufacture, including subassemblies.

Regenerate Configurations

Use Regenerate Configurations as needed after a new service pack or patch has been installed to regenerate
configurations that have been created in the Configurator Designer for base part numbers.
You can specify if all configurations should be regenerated, or if only configurations for individual parts selected
in the Filter sheet should be regenerated. When you run this program, it selects previously approved configurations
(for which the Approved check box has been selected), and performs the following functions:
• Regenerates associated rules programs
• Regenerates the assigned configuration sequence
• Recalculates internal "Has Leave Trigger" records
This process can also be run in a Continuous Processing mode; this allows it to run continuously in the System
Monitor waiting for a configuration to be flagged for regeneration.
Note When running this process in any of the available modes, it generates a log file from which you are
able to determine if a part returned an error and was not processed.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Regenerate Configurations
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Regenerate
Configurations

152 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Regenerate Configurations Features

When run in the Continuous Processing mode, the Regenerate Configuration process operates in the following
manner:

Continuous Processing Mode


Once you approve a configuration by selecting the Approval check box in the Configurator Designer, the Epicor
application creates a record that is used by the Continuous Processing mode to determine if the configuration
should be regenerated.
• When run the Continuous Processing mode, when your approve/unapprove or modify the material content
(BOM) for an item, the Revision Approving logic directs the Regenerate Configurations program to regenerate
the part in question.
• This applies to both configurable and non-configurable parts because when a part revision is approved, the
Epicor application needs to determine if the bill of material for the part contains a configuration; if so, it sets
the Configurable check box in the Part Maintenance > Revision > Detail sheet.
• If you are not using the Continuous Processing mode, the Regenerate Configurations program automatically
launches whenever you approve a configuration.
Regardless of whether the Regenerate Configurations program is run in the Continuous Processing mode. this
program performs the following tasks:

Regenerates Associated Rules Programs


When run, this process regenerates the set of rule programs (associated with a particular configuration) that the
Configurator Designer originally generates at time of approval. This Progress-compiled code is saved in the PC
Rules directory (as defined in Company Maintenance); it includes the user-defined code entered into the Expression
Builder for input rules, method rules, dynamic lists, Prompt When expressions and pricing parameters defined in
the Configurator Designer for the configuration.

Regenerates Configuration Sequence


When run, this process regenerates the sequence number that is automatically assigned to a configuration when
a configurable part (a part for which a configuration has been defined in Configurator Designer) contains other
configurable parts in its BOM, and this configurable part is entered in Opportunity/Quote Entry, Sales Order Entry,
Job Entry, Purchase Order Entry or Demand Entry.
• When you click the Configure button in these programs, the resulting Q&A session displays the configuration
entered for the base part, and also displays the configuration defined for those configurable parts in the base
part BOM record.
• The configuration sequence is a list of configurations that are displayed during the Q&A session, and this list
is built from the subconfigurators defined in the BOM.

Recalculates Internal "Has Leave Trigger" Field


Each input that is defined for a configuration in the Configurator Designer contains a "HasLeaveTrigger" flag
that indicates where it has On Leave code, is referenced in dynamic list conditions/parameters, or if it is referenced
in the PromptWhen logic defined for other inputs. When run, the Regenerate Configurations program automatically
recalculates this flag.

Epicor ERP | 9.05.702 153


Implementation Components and Calculations Configurator Technical Reference Guide

Smart String Configuration Processing

Use the Configurator Designer > Smart String sheet when the Smart String Configuration check box has been
selected in the Status sheet for the configuration being designed.
When the Smart String Configuration check box has been selected for the configuration, the Epicor application
displays a dialog box during an actual configuration session (invoked from Order Entry, Opportunity/Quote Entry,
Job Entry, Purchase Order Entry or Demand Entry), prompting for entry of smart string value. It then attempts to
process and load all associated configuration input values from the supplied string.
• To properly process the smart string values, the Epicor application must understand what the starting and
ending positions are for each of configuration values contained within a typical smart string. To define these
positional values, you use the Configurator Designer > Smart String sheet to designate the input name, start
position and end position for each of the configuration input values.
• For example, the first string position (Color) might be start in position 1, end in position 2 and represent the
color of the item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the item.

154 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer can also be accessed from the Revisions Sheet in Part Maintenance. Refer to Assemblies
and Subassemblies for details on how to launch Part Maintenance from the Main Menu. These are the values
you can modify for the item:
• Input Name - Specify the name of the input field (for example, Color, Metal Type, Engine Size) being defined.
The Epicor application uses this to identify the control during actual configuration sessions (invoked from
Order Entry, Opportunity/Quote Entry, Job Entry, Purchase Order Entry or Demand Entry).
• Start Position - Defines the starting position for the value of this input control in a smart string.
• For example, the first string position (Color) might be start in position 1, end in position 2 and represent
the color of the item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the
item.
• In this case, when defining the Color string position, you would specify that it starts in position 1; if defining
the next string position (Metal Type), you would specify that it starts in position 3.

• End Position - Defines the ending position for the value of this input control in a smart string.
• For example, the first string position (Color) might be start in position 1, end in position 2 and represent
the color of the item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the
item.
• In this case, when defining the Color string position, you would specify that it ends in position 2; if defining
the next string position (Metal Type), you would specify that it ends in position 4.

Epicor ERP | 9.05.702 155


Implementation Components and Calculations Configurator Technical Reference Guide

Configuration Listing

Use this program to produce a Configuration Listing of product configuration records. You can specify which
parts and product groups should be included on the report. The following information can be printed on the
report:
• Input detail / page detail parameters and comments. Input parameters can be grouped per page and include
input name, data type, format, and label information.
• Prompt When and On Leave Rules.
• Part Creation / Smart String parameters and comments.
• Document Rules.
• Structure Rules.
• Order, quote, purchase order or demand order pricing parameters, including general expressions and price
rule details.
• Configuration comment text of all types, including Change Log comments.
Use the Selection sheet to choose the parameters for the report. Use the Filter sheet(s) to select the specific
records to include on the report. For more information, review the Filters Overview topic.

156 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configuration Listing
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > Reports > Configurator Listing
These are the values you can modify for this item:
• Print Comments - Select the check box to print configuration comment text on the report. Clear the check
box to skip printing of configuration comment text.
• Purchase Pricing - Select the check box to print configuration purchase pricing parameters on the report.
Clear the check box to skip printing of configuration purchase pricing parameters.
• .Quote Pricing - Select the check box to print configuration quote pricing parameters on the report. Clear
the check box to skip printing of configuration quote pricing parameters.
• Order Pricing - Select the check box to print configuration order pricing parameters on the report. Clear the
check box to skip printing of configuration order pricing parameters.
• New Page per Final Assembly - Select this check box if a new page should be started after each printout
of a final assembly.
• Print Document Rules - Select the check box to print document rule parameters on the report. Clear the
check box to skip printing of document rule parameters
• Print Structure Rules - Select the check box to print structure rule parameters on the report. Clear the check
box to skip printing of structure rule parameters.

Epicor ERP | 9.05.702 157


Implementation Components and Calculations Configurator Technical Reference Guide

• Print Inputs - Select the check box to print the input parameters defined for each configuration. Clear the
check box to skip printing of the input parameters defined for each configuration.
• New Page per Page - Select this check box if a page break should occur for each configuration input page
printed on the report. Clear the check box to skip use of a page break for each configuration input page.
• Print Smart String - Select the check box to print Smart String parameters defined for each configuration.
Clear the check box to skip printing of Smart String parameters defined for each configuration.
• Print On Leave - Select the check box to print On Leave parameters defined for each configuration. Clear
the check box to skip printing of On Leave parameters defined for each configuration.
• Print Page Information - Select the check box to print input page detail parameters defined for each
configuration. Clear the check box to skip printing of input page detail parameters defined for each
configuration.
• Print Part Creation - Select the check box to print part creation parameters defined for each configuration.
Clear the check box to skip printing of part creation parameters defined for each configuration.
• Print Prompt When - Select the check box to print Prompt When parameters defined for each configuration.
Clear the check box to skip printing of Prompt When parameters defined for each configuration.
• Print Method Rules - Select the check box to print method rule parameters on the report. Clear the check
box to skip printing of method rule parameters.

Logic/Algorithms

None

Import / Export Configuration

Use the Import / Export Configuration selection on the Actions menu to export a defined configuration to
another database using the Export Configuration program, and import a defined configuration from another
database.
• These functions allow you to develop and test a product configuration in one database (for example, a training
or test database) before easily copying and deploying it to a live database. Configurations can be "copied"
across companies or across databases.
• Each program provides great flexibility in specifying exactly which types of records associated with the selected
configuration (input rules, pricing, part creation parameters) should be imported or exported.

158 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• The Import Configuration program also allows you to specify if the company ID associated with the imported
configuration records should be automatically updated, and if the configuration should be approved once
imported.

Exporting Configurations

Use the Export Configuration selection to generate an XML file containing information for the current
configuration (part and revision number) that is open in the Configurator Designer for export to another database
or company. Note that the target company cannot import a configuration unless you first create a configuration
XML file by running the Export Configuration program in your database. This program provides great flexibility
in specifying exactly which types of records associated with the selected configuration should be exported. You
can selectively export the following types of configuration records:
• Inputs, including page details, dynamic lists, and Prompt When and Keep When rules (both at the page and
input detail level).
• Part creation and Smart String parameters
• Order, quote, purchase order or demand order pricing parameters
• Structure, Document and Method rules
• Configuration comment text
Once you specify the name and location of the export file being created, it is submitted to the Task Agent as a
process when you click Export.
• When the Task Agent runs the export process, it creates an XML file in the selected directory using the file
name specified in Filename field and the parameters specified in each of the fields in this sheet.
• This includes all information stored in the PCnn (Product Configuration) tables that is necessary to restore the
configuration on another database or system.
• It also includes information about the schema level at which the export file was produced, but excludes product
configuration "version" (history) tables.
Tip If you wish to just export the user interface portion of the configuration (that is, just the existing inputs
information including page details, dynamic lists, and page/input-level Prompt When and Keep When rules)
for the currently selected configuration, select the Update Inputs check box, clear the remaining check
boxes, specify the XML file name and storage location in the Filename field, then click Export.

Tip The Export Configuration program does not export underlying records in tables such as the Part Master,
Operation Master, Resource Group or Resource Maintenance. The assumption is that these records have
already been defined in the database to which the configuration records themselves are being exported
(they are all present in the target database or company).

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer

Epicor ERP | 9.05.702 159


Implementation Components and Calculations Configurator Technical Reference Guide

Important This program is not available


®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Once the Configurator Designer appears, select the configuration for the part/rev being exported. In the Actions
menu, select Import/Export Configuration, then select Export Configuration.
These are the values you can modify for this item:
• Comments - Select this check box to export comment text linked to each of the rules being exported. Clear
the check box to skip export of configuration comment text.
• Document Rules - Specifies if Document Rules defined for the configuration (in the Configurator Designer
> Input Rules > Document Rules tab) should be exported. Select this check box to export Document Rules for
the configuration. Clear the check box to skip export of configuration Document Rules.
• Export - After specifying what parameters should be exported, click this button to submit the export to the
Task Agent as a process. When it runs, it creates an XML file in the selected directory using the file name
specified in Filename field, using the parameters specified in each of the fields in this sheet.
• Export Inputs - Specifies if input parameters (including page details, dynamic lists, and Prompt When and
page/input detail level Keep When rules defined for the configuration in the Configurator Designer > Input
Rules tab) should be exported. Select this check box to export input rules for the configuration. Clear the
check box to skip export of configuration input rules.
• Filename - Specify the name of the XML file that contains the configuration information being exported.
Click Filename to browse select the directory in which the resulting configuration file is being stored, and
specify the name of the file being created.
• Method Rules - Specifies if Method Rules defined for the configuration (in the Configurator Designer >
Method Rules tab) should be exported. Select this check box to export Method Rules for the configuration.
Clear the check box to skip export of configuration Method Rules.
• Order Pricing - Specifies if order pricing parameters defined for the configuration (in the Configurator Designer
> Input Rules > Pricing > General > Input Pricing > Order > Detail sheet) should be exported. Select this check
box to export order pricing parameters for the configuration. This also includes the general pricing record
that is linked to each of the configuration inputs being exported. Clear the check box to skip export of
configuration order pricing parameters.
• Part Creation - Specifies if part creation parameters defined for the configuration (in the Configurator Designer
> Input Rules > Part > Creation sheet) should be exported. Select this check box to export part creation
parameters for the configuration. Clear the check box to skip export of configuration part creation parameters.
• Purchase Order Pricing - Specifies if purchase order pricing parameters defined for the configuration (in the
Configurator Designer > Input Rules > Pricing > General > Input Pricing > Purchase > Detail sheet) should be
exported. Select this check box to export purchase order pricing parameters for the configuration. This also
includes the general pricing record that is linked to each of the configuration inputs being exported. Clear
the check box to skip export of configuration purchase order pricing parameters.
• Quote Pricing - Specifies if quote pricing parameters defined for the configuration (in the Configurator
Designer > Input Rules > Pricing > General > Input Pricing > Quote > Detail sheet) should be exported. Select
this check box to export quote pricing parameters for the configuration. This also includes the general pricing
record that is linked to each of the configuration inputs being exported. Clear the check box to skip export
of configuration quote pricing parameters.
• Smart String - Specifies if Smart String parameters defined for the configuration (in the Configurator Designer
> Input Rules > Part > Smart String sheet) should be exported. Select this check box to export Smart String
parameters for the configuration. Clear the check box to skip export of configuration Smart String parameters.
• Structure Rules - Specifies if Structure Rules defined for the configuration (in the Configurator Designer >
Structure Rules tab) should be exported. Select this check box to export Structure Rules for the
configuration.Clear the check box to skip export of configuration Structure Rules.

160 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Logic and Algorithms

Depending on what check boxes been selected in the Export Configuration program, the Epicor application
exports the following tables/records for the active part number and revision number currently selected in the
Configurator Designer:
• Comments - If this check box is selected, the Epicor application exports the following fields:
PcPage.Comments (page comments), PcInputs.Comments (input comments), PcInPrice.Comments (pricing
comments), PcStruct.Comments (structure rule comments), PcStatus.PartComments (part creation comments),
and PcStatus.Comments (Configurator Comments). If this check box is cleared, it does not export any
information that may exist in this set of files.
• Document Rules - PcDocRules
• Export Inputs - PcPage, PcInputs, and PcDynLst.
• Method Rules - PcMethRules
• Part Creation - Part creation logic is stored in the PcStatus table. If this check box is selected, the following
fields are exported:
PcStatus.CreatePart, PcStatus.SetPartNumOnly, PcStatus.SaveInputValues, PcStatus.CrtPartUsing,
PcStatus.InQuoting, PcStatus.InOrderEntry, PcStatus.InJobEntry, PcStatus.AutoCrtPart, PcStatus.NotUnique,
and PcStatus.ZeroCost.
• Order Pricing - PcInPrice records with a UsedIn field value equal to Order. It also exports any parent PcPriceHed
record associated with the PcInPrice record being exported.
• Quote Pricing - PcInPrice records with a UsedIn field value equal to Quote. It also exports any parent PcPriceHed
record associated with the PcInPrice record being exported.
• Purchase Order Pricing - PcInPrice records with a UsedIn field value equal to PO. It also exports any parent
PcPriceHed record associated with the PcInPrice record being exported.
• Smart String - Smart String logic is stored in the Pcstatus table. If this check box is selected, the PcStrComp
table and the following fields in the PcStatus table are exported:
PcStatus.StringStyle, PcStatus.Separator, PcStatus.NumberFormat, PcStatus.StartNumber, PcStatus.PrefacePart,
PcStatus.CrtCustPart, PcStatus.OrdQuo -Com, PcStatus.JobPick-Com, PcStatus.Ship-Com, PcStatus.Inv-Com,
and PcStatus.CrtPartDesc.
• Structure Rules - PcStruct
• Version Information - Associated version tables (PcVerxxxx) are not exported.
Tip The XML configuration files does contain any Excel spreadsheet information used in Excel Lookups,
or any Progress OpenEdge Programs called from dynamic lists or Rule Program Calls. The references to
Excel Lookups and references to the Progress OpenEdge Programs programs are included in the XML file
though. When the XML file is imported in another company or database, it does not create master files
for the method of manufacture, referenced ud tables or any other referenced table.

Epicor ERP | 9.05.702 161


Implementation Components and Calculations Configurator Technical Reference Guide

Importing Configurations

Use the Import Configuration selection to import, for the current configuration (part and revision number),
the XML configuration file created for the product configuration developed and tested in another database. Only
unapproved configurations can imported from another company or another database (these are ones for which
the Approved check box has been cleared in the Configurator Designer > Status sheet). Prior to use of this
program, the configuration XML file must have been created by running the Export Configuration program in
the export database.
This program provides great flexibility in specifying exactly which types of records associated with the selected
configuration file should be imported. It also allows you to specify if the company ID associated with the imported
configuration records should be automatically updated, and if the configuration should be approved once
imported. You can selectively update the following types of configuration records:
• Inputs, including page details, dynamic lists, and Prompt When and Keep When rules (both at the page and
input detail level).
• Part creation and Smart String parameters
• Order, quote or purchase order pricing parameters
• Structure, Document and Method rules
• Configuration comment text
Tip The Export Configuration program does not export underlying records in tables such as the Part Master,
Operation Master, Resource Group or Resource Maintenance. The assumption is that these records have
already been defined in the database to which the configuration records themselves are being imported
(they are all present in the current database or company).

Programs and Their Modifiers

• Approve Configuration - Select the check box to automatically approve the configuration when imported.
This sets the Approved check box in the Status check box in the Status page to selected. Clear this check box
to skip approval of the imported configuration.
• Document Rules - Specifies if Document Rules defined for the configuration (in the Configurator Designer
> Input Rules > Document Rules tab) in the export company should be imported into the current database.
Select this check box to import Document Rules for the configuration. Clear the check box to skip import of
configuration Document Rules.

162 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Filename - Specify the name of the configuration XML file being imported into your database. Enter the
name of the file or click Filename to browse and select the configuration XML file created by the Export
Configuration program run in the export database.
• Import - After specifying what parameters should be imported, click this button to start the actual configuration
import process. The program imports the configuration XML file specified in the Filename field, based on
the parameters specified in each of the fields in this sheet.
• Method Rules - Specifies if Method Rules defined for the configuration (in the Configurator Designer >
Method Rules tab) in the export company should be imported into the current database. Select this check
box to import Method Rules for the configuration. Clear the check box to skip import of configuration Method
Rules.
• Order Pricing - Specifies if order pricing parameters defined for the configuration (in the Configurator Designer
> Input Rules > Pricing > General > Input Pricing > Order > Detail sheet) in the export company should be
imported into the current database. Select this check box to import order pricing parameters for the
configuration. This also includes the general pricing record linked to each of the configuration inputs being
imported. Clear the check box to skip import of configuration order pricing parameters.
• Purchase Order Pricing - Specifies if purchase order pricing parameters defined for the configuration (in the
Configurator Designer > Input Rules > Pricing > General > Input Pricing > Purchase > Detail sheet) in the
export company should be imported into the current database. Select this check box to import purchase order
pricing parameters for the configuration. This also includes the general pricing record linked to each of the
configuration inputs being imported. Clear the check box to skip import of configuration purchase order
pricing parameters.
• Quote Pricing - Specifies if quote pricing parameters defined for the configuration (in the Configurator
Designer > Input Rules > Pricing > General > Input Pricing > Quote > Detail sheet) in the export company
should be imported into the current database. Select this check box to import quote pricing parameters for
the configuration. This also includes the general pricing record linked to each of the configuration inputs
being imported.Clear the check box to skip import of configuration quote pricing parameters.
• Replace Company ID - Specifies if the company ID in the imported configuration records should be replaced
with the company ID of the current company. Select the check box to replace the company ID in the imported
configuration records with the company ID of the current company. Clear the check box to skip replacement
of the company ID in the imported configuration records (they will retain the original ID for the export
company).
For example, if the configuration is being imported from Company 1 to Company 2, selecting this check box
instructs the Epicor application to change all occurrences of Company 1 in the imported configuration records
to Company 2. If the export file was produced in another company and you do not select this check box, an
error message appears and the import is aborted.
• Structure Rules - Specifies if Structure Rules defined for the configuration (in the Configurator Designer >
Structure Rules tab) in the export company should be imported into the current database. Select this check
box to import Structure Rules for the configuration. Clear the check box to skip import of configuration
Structure Rules.
• Update Comments - Specifies if configuration comments entered for the configuration (in the Comments
sheets throughout the Configurator Designer) in the export company should be imported into the current
database. Select this check box to import comment text linked to each of the rules being imported.Clear the
check box to skip import of configuration comment text.
• Update Inputs - Specifies if input parameters (including page details, dynamic lists, and Prompt When and
page/input detail level Keep When rules defined for the configuration (in the Configurator Designer > Input
Rules tab) in the export company should be imported into the current database. Select this check box to
import input rules for the configuration. Clear the check box to skip import of configuration input rules.
• Update Part Creation - Specifies if part creation parameters defined for the configuration (in the Configurator
Designer > Input Rules > Part > Creation sheet) in the export company should be imported into the current
database. Select this check box to import part creation parameters for the configuration. Clear the check box
to skip import of configuration part creation parameters.

Epicor ERP | 9.05.702 163


Implementation Components and Calculations Configurator Technical Reference Guide

• Update Smart String - Specifies if Smart String parameters defined for the configuration (in the Configurator
Designer > Input Rules > Part > Smart String sheet) in the export company should be imported into the current
database. Select this check box to import Smart String parameters for the configuration. Clear the check box
to skip import of configuration Smart String parameters.

Verify Existing Configuration

Use the Verify Existing Configurations program to verify existing PcInValue (Saved Input Values) records against
the current version of the configuration for a base part number. The base part number is the part number on
the original configurator or the part number on the sales order line, quote line, job header, purchase order line
or demand order line can be replaced by a Smart String part number. The base part number is always stored for
the verification process and the re-configuration process.
The utility checks the input values, and combo box selections made in actual configuration sessions (invoked
from Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry) against Set Field,
Keep When, and Pricing rules that have been defined for the configured base part in the Configurator. If any
definition changes are made to the product configuration (for example, rule syntax has been changed), this utility
applies those changes to existing configurations, using the input values entered during the original Q&A
configuration session.
Several part numbers can be verified at a time; the Filter sheet allows you to specify additional filtering parameters
used to select the parts being processed.
• If you do specify filtering parameters, the program only processes the range of part numbers entered into the
Parts field.
• If you have not specified filtering parameters in the Filter sheet, the program loops through all base configured
parts for which the Save Input Values checkbox has been selected in the Configurator > Part Creation sheet.
It then searches for any part numbers that were generated from this base configured part.
• As it finds each part, it loads the saved input values for each configured part number and "reconfigures" the
part using the current configuration settings that have been defined in the Configurator (Designer).
If the Update Saved Input Values and Set Fields in Part Table checkbox has been selected in Verify Existing
Configurations, it does the following:
• It updates the saved input values that are stored in the database and generates a new method of manufacture
for the generated part number using the resulting values after the "reconfiguration" of the configured part

164 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• It processes any Set Field rules that may have been defined on the Configurator Designer > Method Rules >
Rules > Detail sheet, updating fields on the Part sheet. Set Field rules can only be created for updating of the
values in the Part table if the Create a new part number for each configuration checkbox has been
selected in the Configurator > Part Creation sheet.
If the Update Saved Input Values and Set Fields in Part Table checkbox has been cleared in Verify Existing
Configurations, it performs the following checks:
• Using the results of the "reconfigured" data, it compares the data to the saved input values that are stored
in the database.
• It verifies if the resulting Smart String is the same as the part number (which was originally created using the
resulting smart string), ensures that all required inputs contain values, and determines if each of the values is
in a valid format as defined for the input in the Inputs > Detail sheet. It also verifies these values again after
applying the associated dynamic list and On Leave logic (if any) that has been defined for the configured part.
If the program finds an error that has been made in an input value for a configured part, it places the part on
hold and stores message that indicate the nature of the problem are stored in a designated log file.
• When it verifies existing orders, quotes, jobs, purchase orders or demand orders, it makes no changes to the
actual quote, order, job, purchase order or demand order. It simply "reconfigures" the part (as described
above) and compares the existing values on the orders, quotes, job, purchase order or demand order against
what the values should be after the Set Field rules have been applied.
• It also verifies the Method of Manufacture on the quote or job. It compares the reconfigured resulting Method
of Manufacture against the existing Method of Manufacture on a quote or job, making sure all Set Field and
Keep When rules are correct. If it finds any error, it changes no information on the order, quote, job, purchase
order or demand order; it simply creates messages in the log stating what varies between the two methods
of manufacture.

Programs and Their Modifiers

Verify Existing Configurations


Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Verify Existing Configurations
These are the values you can modify for this item:
• Update Saved Input Values and Set Fields in Part Table - Select this check box to update the Saved Input
Values and Set Fields for the part record. This is especially useful in situations in which you have made changes
to the base model configuration and wish to mass-update all of the configurations that have been created
for the base part and have already been assigned to orders, quotes, job orders, purchase orders or demand
orders.
• Parts - Specify the range of part numbers for which the validation process is being run. If you do not select
any parts, the default of All Selected is displayed.
• Log File Name - Enter the name of the log file that stores the processed activity.
• Verify Existing Quote Configurations - Select this check box if the Verify Existing Configurations program
should be run on quote records that contain configured parts.
• Verify Existing Order Configurations - Select this check box if the Verify Existing Configurations program
should be run on quote records that contain configured parts.
• Verify Existing Job Configurations - Select this check box if the Verify Existing Configurations program
should be run on job records that contain configured parts.

Epicor ERP | 9.05.702 165


Implementation Components and Calculations Configurator Technical Reference Guide

Logic/Algorithms

Refer to Verify Existing Quote Configurations, Verify Existing Order Configurations and Verify Existing
Job Configurations in the Modifiers section for examples of how this program operates.

Multi-Company Configurator - Setup and Operation

The Multi-Company Configurator functions operate in a business environment in which a Sales company configures
and sells products that are designed and produced in another company (refer to Configurator in a
Multi-Company Enterprise for more details).
These companies can be located within the same database, or can be located in separate databases. Setting up
an Enterprise configurator in a multi-company environment is more complex than in a single company environment,
but the basics remain the same. Refer to Configurator Setup (Single Company) for details on setting up the
Configurator in a single company environment.
Important For extended details on the multi-company set up and operation, refer to the Multi-Site
Technical Reference Guide in the application help. In particular, refer to the following sections in that
document:
• The Multi-Site Concepts section explores, in detail, all possible setup scenarios related to multi-site
processing.
• The Multi-Company/Multi-Site Processes - Configurator in a Multi-Company Enterprise section
covers, in detail, the setup and operation of a multi-company Configurator.

The following are prerequisites to use of the Configurator in a multi-company environment:

Other Prerequisites

To use the drop shipping and Buy-to-Order functions when processing the product configuration in a
multi-company environment, you must perform all setups required for this processing.
Refer to the Buy To Order and Drop Shipments Processing online help topic for more details on setup and
use of these functions

Multi-Company Configuration Processing

To perform multi-company configuration processing, you must perform the following tasks:

1. Create the configuration (non-stock) part in Part Maintenance within the Manufacturing company. Designate
it as a global part by selecting the Global check box in the Part Maintenance > Part > Detail sheet. Add a
new revision for the configuration part.

2. In the Engineering Workbench, build the Method of Manufacture for the configured part, and then check
it in using the Part Revision Checkin process.

3. Open the configured part and revision using the Part/Rev sheet in the Configurator Designer in the
Manufacturing company. You then design the configuration in the Manufacturing company. Note that
Method rules only apply to the manufacturing company, and only one set of is required.
• Design the input pages using the sheets found under the Input Rules tab; Prompt When conditions can
be defined per input page, or per input control.

166 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Add document rules that update documents such sales orders, quote, jobs, purchase orders or demand
orders. Document rules can be differentiated per company.
• Set pricing options for sales orders, quotes and for inter-company purchase orders generated for the
part when it is configured in a Sales company. Using the Configurator Designer > Input Rules > Pricing
> Options sheet, designate If component pricing is used; these components must be defined in the
structure rules.
• Determine which configurable sub components (assemblies and materials) are public to other companies.
These sub components will synchronize with the external companies. Define structure rules as necessary
in the sheets found under the Structure Rules tab.

4. Run the Configurator Verification program to verify that all the required global inputs for the sub configurators
are available. This Epicor application verifies this information per company because some inputs are only
prompted for in certain companies. It tests whether document rules use input variables that might not be
available for a particular company, and it reports which variables are missing.

5. After designing the configuration in the Configurator Designer, you mark it as an enterprise configuration,
approve it and then deploy it across companies or databases:
• Mark it as an enterprise configuration by selecting the Enterprise Configurator check box on the Status
sheet.
• When the configuration is ready for deployment, approve it using the Approve check box.
• When you ready to synchronize the configuration (that is, copy to the other Sales companies), click
Synchronize.
• Now the configurator is ready for sales purposes, and has been deployed to each Sales company.

6. Schedule and run the following programs, located in the System Management Utilities menu (they can also
be run as continuous background processes).
• If using the SONIC data transfer method, schedule the Enterprise Configurator Server Process and
Multi-Company Server Process programs.
• If using the DIRECT data transfer method, schedule the Enterprise Configurator Direct Server Process
and Multi-Company Direct Server Process programs.
The Multi-Company Server Process (or Multi-Company Direct Server Process) sends the configured part to
the Sales companies, while the Enterprise Configurator Server Process (or Enterprise Configurator Direct
Server Process) synchronizes configuration data between the Manufacturing company and Sales companies
(the System Monitor can be used to view transactional activity for these processes).
Now the configurator is ready for sales purposes, having been deployed to each Sales company.
Tip You also use these processes when using the configuration in normal business activities to
synchronize purchase order, sales order and configuration input information between the Manufacturing
and Sales companies. Refer to the Processing Flow topic for more information.

7. In the Sales companies, use the Part Maintenance > Integrations > Link Part sheet to link the configuration
part that was synchronized from the Manufacturing company to a part record within the Sales company.
The part is considered a Purchased type part in the Sales companies, and a Manufactured type part in the
Manufacturing company.
• If purchase orders for the configured part are being drop shipped to customers, select the Buy To Order
and Drop Shipment check boxes in the Part > Detail sheet, or for the appropriate plants in the Part >
Plants sheet. Refer to the Refer to the Buy To Order and Drop Shipments Processing online help
topic for more details.

Epicor ERP | 9.05.702 167


Implementation Components and Calculations Configurator Technical Reference Guide

• When entering a sales order for the part in the Sales company, the defaults for the Buy To Order and
Drop Shipment check boxes in the Order Entry > Line > Detail sheet come from Part Maintenance in
the Sales company.
• When the configurator is synchronized to the Sales companies, the Epicor application sets the Type field
for the configured part to Purchased, and automatically selects the Buy To Order check box in Part
Maintenance. Optionally, you can manually set the Drop Shipment check box if you would rather drop
ship the configured items from the Manufacturing company to the end-customer.

8. Using the Configurator Designer in the Manufacturing company, you must add Method rules for the
configured part using the sheets found under the Method Rules tab. These rules determine which
subassemblies, materials, operations and operation details are included in the method of manufacture when
the Manufacturing company builds a configuration that was created when the part configured when an
order or quote is entered in the Sales company.

Input Rules > Pricing > Options

Use the Options sheet to (optionally) enable component pricing for the configuration.
• When enabled, the Epicor application uses existing component pricing defined in Price List Maintenance when
the product is being configured in Opportunity/Quote Entry, Order Entry, Purchase Order Entry or Demand
Entry.
• It also applies the appropriate supplier pricing defined in the Supplier Price List Maintenance program to direct
(drop shipment) purchase orders generated for multi-company configurations.

168 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

If you are using the Configurator in a multi-company environment, use the Automatically Mark Methods
Global check box as needed to designate if, when this base part is configured in a multi-company environment,
the resulting enterprise part should automatically be flagged as Global.
• This allows the associated method of manufacture (generated when saving a configuration after completing
a configuration session) to be exported by the Multi-Company Configuration Process.
• This results in the linking of the associated material content to external companies.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

When a configured part has configurable subassemblies, and on an order, quote, purchase order or demand
order pricing configuration, the Epicor application adds the pricing structures from the subassemblies and the
main part, resulting in a new unit price for the configured item.
These are the values you can modify for the item:
• Use Component Pricing - Specifies if global component pricing should be used for the entire configuration.
If selected, the Epicor application calculates the component price using the resulting bill of material, based
on the price lists of each remaining components after all applicable method rules have been applied. The
resulting component price is the total component price plus any additional input pricing that may have been
defined. Clear this check box to skip use of component pricing. In this scenario, the Epicor application uses
the pricing parameters defined in the Input Rules > Pricing > Order > Detail and Input Rules > Pricing > Quote
> Detail sheets to calculate pricing during a configuration session.
• Automatically Mark Methods Global - Designates if, when this base part is configured in a multi-company
environment, the resulting enterprise part should automatically be flagged as Global.
• Select the check box if the base part should be flagged as Global when configured in a multi-company
environment. This allows the associated method of manufacture (generated when saving a configuration
after completing a configuration session) to be exported by the Multi-Company Configuration Process;
this results in the linking of the associated material content to external companies. Once each material
part has been linked in the external company, component pricing can be used for the enterprise configurator
part in the external company.
• Clear the check box if each material part contained in the resulting method of manufacture must be
manually marked as Global in Part Maintenance; if not marked as Global, the associated part is not
available for component pricing in the external companies.
Note This check box should be used only if the Enterprise Configurator check box been selected for
this base part in the Configurator Designer > Status sheet, and the Use Component Pricing check
box has also been selected in the Pricing > Options sheet). It does not apply to configurations performed
in a single-company environment.

Epicor ERP | 9.05.702 169


Implementation Components and Calculations Configurator Technical Reference Guide

Input Rules > Pricing > General > Detail (Multi-Company)

Use the Detail sheet to define order pricing options for this configuration for external companies. It can be used
if the Enterprise Configurator check box has been selected in the Status sheet and you are using multi-company
configurator functions.
You build the expression syntax by accessing the Expression Builder from this sheet. This is the expression that
is processed when the configuration is saved. If the result of the expression is true, the Epicor application includes
the order input pricing being defined.

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

170 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions Sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
These are the values you can modify for the item:
• Company - Specifies the external company for which the pricing options are being defined for the
configuration. If you are defining pricing options for the configuration for a specific company, select the
company. The name of the selected company appears next to this field. The pricing options defined in this
sheet are only synchronized with the selected company. Leave the field blank if the pricing options are being
defined for the configuration for all external company databases. If no company is selected, the the pricing
options are applied to all companies.
• Company Name - Displays the name of the external company in which the document rule is being synchronized
and executed. All Companies displays in this field if no specific company has been selected in the Company
field.
• Edit - Click Edit to launch the Expression Builder as needed to specify the syntax associated with the pricing
option being defined for the configuration. Refer to the Configurator Technical Reference Guide for detailed
information on how to use the Expression Builder to define rules syntax.
• General Expression - Specifies the general expression that should be processed when the configuration is
saved. Select an existing expression previously defined in the Expression Builder. After you have launched the
Expression Builder and have defined the associated pricing option expression, or have selected an existing
general expression, this field displays the specified syntax. This is the expression that is processed when the
configuration is saved. If the result of the expression is true, the Epicor application includes the order input
pricing being defined. The field is for display only.

Epicor ERP | 9.05.702 171


Implementation Components and Calculations Configurator Technical Reference Guide

Structure Rules > Definition / Rules (Multi-Company)

Use the sheets under the Structure Rules tab to specify structure rules for the configured part being defined. This
tab and accompanying sheets can only be accessed if the Enterprise Configurator check box has been selected
for the configured part in the Status sheet.
• Structure rules are required to build the structure of the configurable subcomponents. This structure is necessary
to determine which other configurators must be present in the Sales company to collect all the required inputs
for the Manufacturing company. The structure rules only contain configurable subassemblies and configurable
materials.
• When configuring a part in the Sales company, the Epicor application automatically processes structure rules
after leaving the last page of the current configuration input page in an actual configuration session.
After specifying structure rule detail in the Configurator Designer > Structure Rules > Rules > Detail sheet, use
the Refresh Structure Definitions selection on the Actions menu to build structure definition records that are
a compilation of any subassembly configured parts defined in the parent configuration BOM. You use this function
when the Configurator is being used in a multi-company environment. When configuring a part within a Sales
company, if a structure definition exists, it displays an input page for the sub assembly configured part. When
the configuration is synchronized with the Sales companies, the BOM is not exported with the configuration.

172 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Programs and Their Modifiers

Configurator Designer

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Part Maintenance
The Configurator Designer sheet can also be accessed from the Revisions sheet in Part Maintenance. Refer to
Assemblies and Subassemblies for details on how to launch Part Maintenance from the Main Menu.
From the File menu, click New, then click New Structure Rule to access the Method Rules > Rule sheet to
define the method rule for the selected item.These are the values you can modify:
• Assembly - Displays the parent assembly where the subassembly configured part is located in the parent
configuration BOM. The field is for display only.
• Configured Part - Displays the subassembly configured part and revision that apper when configuring the
parent part within the Sales company. This field is for display only.
• Generated Rule Tag - Displays the generated rule tag (if any) of the sub configured part. This rule tag is the
same as appears on the expanded Method tree. This field is for display only.
• Label - Specifies an optional label used to identify purpose of the sub configurator. It is useful for identifying
a configurator that may be listed multiple times in the structure rule list.
• Material - Displays the material sequence that appears under the parent assembly and operation parent
assembly where the subassembly configured part is located in the parent configuration BOM. The field is for
display only.
• Operation - Displays the operation that appears under the parent assembly and operation parent assembly
where the subassembly configured part is located in the parent configuration BOM. The field is for display
only.

Epicor ERP | 9.05.702 173


Implementation Components and Calculations Configurator Technical Reference Guide

Use the Rules > Detail sheet to define structure rules for a specific input. Structure rules can be created for each
structure definition to simulate the method rules that are defined on the subassembly configured part.
When configuring a part in a Sales company, the structure rules are processed after leaving the last page of the
current configuration input page. If a Keep When structure rule type is defined, and the resulting value of the
Keep When condition is false, the lower level configuration input page does not display.
These are the values you can modify:
• Edit - Click Edit to launch the Expression Builder to define the Calculation, Set Field or Program Call rule
syntax associated with the structure rule. Refer to the Configurator Technical Reference Guide for detailed
information on how to use the Expression Builder to define rules syntax.
• Expression - After you have launched the Expression Builder and have defined the associated the Calculation,
Set Field or Program Call rule, this field displays the rules syntax. The field is for display only.
• Rule Type - After you have launched the Expression Builder and have defined the associated the Calculation,
Keep When or Program Call rule, this field displays the rule type that was selected when the structure rule
was created.
• Sequence - Specifies the sequence in which the structure rule should be processed when the configuration
to which it is being applied is saved. For example, if you are defining multiple structure rules that are being
applied for a specific external company, you can assign a free-form sequence number (for example, 10) that
denotes when a specific rule is being applied. The Epicor application processes rules with lower sequence
numbers before it processes those with higher sequence numbers. The higher on the list (and the lower the
sequence number), the sooner it is invoked. This is important if the results of one rule affect another rule.

174 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

Creating Subconfigurator Part Swaps in a Multi-Company Configurator Environment

In a multi-company enterprise configuration environment, the Set Part Number expression can be used when
defining structure rules in a Sales company. They can be defined to perform part number "swaps"; this works
in a manner similar to how Set Field method rules perform similar part number swaps for subassembly configured
parts in a single company environments.
When structure rules are processed during an actual Configuration session in the Sales company, the Epicor
application determines if a Set Part Number structure rule function has been defined for the subassembly. It then
swaps out the 'dummy' part number from the structure definition with an actual configured part; this is the
actual part number that is displayed when the part is configured in the external Sales company.
Manufacturing Company
For example, when a top level configured part (that contains subassembly configured parts) is configured in the
Manufacturing company, the Epicor application uses the Method of Manufacture (MOM) defined in the Engineering
Workbench to determine what subassembly configured parts need to be displayed. It also processes any applicable
method rules defined in the Configurator Designer, and applies the associated Keep When and Set Field rules
(among others) to the determine the actual material content of the configured item being manufactured.
• In this environment, when this configured part is defined as an Enterprise Configurator part (by selecting the
Enterprise Configurator checkbox on the Configurator Designer > Status sheet), it designates that the part
can also be configured in an external Sales company.
Note Subassembly configured parts must also be defined as enterprise configurator parts.

• Since the Method of Manufacture (MOM) and method rules defined in the Manufacturing company are not
exported to the external Sales company, the Epicor application cannot determine if any configured
subassemblies needs to be displayed when the part is actually configured in the Sales company.
• Hence, the Sales company must use structure definitions to determine the subassembly configured parts that
need to be displayed. The Epicor application must then process these structure rules to properly process and
determine placeholder functionality.
In order to do this, once you have designated the configured part (and its associated subassembly configured
parts) as an enterprise configurator in the Manufacturing company, you must run the Refresh Structure
Definitions selection on the Configurator Designer > Actions menu. This is only used when designing a
configurator that is going to be used in external sales companies (enterprise configurator).
Refresh Structure Definitions identifies and defines a list of subassembly configured parts that need to be displayed
during the configuration session in the Sales companies. It processes through all levels of the configuration,
determines all the subassembly configured parts that were previously defined in Engineering Workbench and
create structure definitions. Structure rules must be then created (in the Configurator Designer > Structure Rules
sheet) against the structure definitions for each subassembly configured part.
• You do this by selecting the structure definitions for the desired subassembly configurations in the Tree view
in the Configurator Designer > Structure Rules sheet.
• Once a structure definition has been selected, the New Structure Rule option is available in the toolbar. You
then the select Set Part Number option in the Expression Builder to create a rules that swaps out the
placeholder part number and displays a different subassembly configured part. These structure rules are similar
Keep When and Set Field method rules defined in a single-company configurator environment to determine
what subassembly configured parts should be displayed.
• Once the structure definitions have been generated and corresponding structure rules have been defined in
the Manufacturing company, they are exported to external Sales companies using the Enterprise Configurator
Sync or Enterprise Configurator Direct processes.
Sales Company

Epicor ERP | 9.05.702 175


Implementation Components and Calculations Configurator Technical Reference Guide

When imported structure rules are processed during an actual Configuration session in the Sales company, the
Epicor application determines if a structure rule (containing a Set Part Number expression) has been defined
for a subassembly and it processes the rule expression. If the conditions of the rule are satisfied, the Epicor
application replaces the placeholder subassembly part number with the part number specified in the rule expression;
this is the actual part number that is displayed when the part is configured in the external Sales company.

Enterprise Configurator Server Process / Enterprise Configurator Direct Server Process

If you are using the SONIC data transfer method for multi-company processing, use the Enterprise Configurator
Server Process to synchronize configuration data between multiple companies in a single database, or companies
located in external databases. This window is valuable for sending and receiving Inter-Company POs and part
information from one to another
Note If you are using the DIRECT data transfer method for multi-company processing, you must use the
Enterprise Configurator Direct Server Process in place of the Enterprise Configurator Server Process for
these updates.

These processes synchronize configuration data between a Manufacturing company and Sales companies (the
System Monitor can be used to view transactional activity for these processes).
• When you run the companion Multi-Company Server Process (or Multi-Company Direct Server Process), it
sends the configured part to the Sales companies.
• Depending on the data transfer method (DIRECT or SONIC) being used, these process "pairs" need to be
run to properly synchronize purchase order, sales order and configuration input information between the
Manufacturing and Sales companies.
• To establish regular transfer of data, select the Recurring checkbox, and then attach the Enterprise Configurator
Server Process or Enterprise Configurator Direct Server Process to the Startup Task Schedule option. From
this point forward, as of the next restarting of the application server, the selected process automatically
transfers the multi-company configuration records as needed.
Both processes automatically synchronize the standard ud (user defined) tables associated with a configured part.
However, they do not automatically synchronize non-standard key fields used for lookup for the configurator (in
most cases ud tables but also Excel sheets and sometimes customer records and part records. Even if they were
synchronized, they may be mapped, which complicates usage of lookups and external ABL programs.
• To resolve this issue, you can use Configurator Control Data to define CFG Control Data table records; it is a
user-defined table specifically designed for use with the Configurator Designer. It is similar to the standard
UD tables but contains several user-defined Key fields and a link to the configurator (company, part number
and revision number) and a configurator type code defined in Configurator Type Maintenance.

176 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• This allows you to define additional data (stored outside of the standard product configuration tables) that
should also be automatically synchronized when running the Enterprise Configuration Server Process.
Note The Epicor application does not export manufacturing (method) rules or the method of manufacture
at the time of configurator synchronization from Manufacturing companies to Sales companies. By separating
the manufacturing rules and the Method of Manufacture from the other rules, synchronization of the
method of manufacture for a configured part is not required between the Manufacturing company and
Sales companies. This allows you to protect proprietary product information from potential distribution to
unwanted parties.

For a description of all available sheets and fields, refer to the Application Help.

Menu Path
Navigate to this program from the Main Menu:
• System Management > Utilities > Enterprise Configurator Server Process
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Programs and Their Modifiers

Enterprise Configurator Server Process


Navigate to this program from the Main Menu:
• System Management > Utilities > Enterprise Configurator Server Process
These are the values you can modify for this item:
• Continuous Processing - Select this check box if the transfer of information should always be running.
• Continuous Processing Delay - Specifies the number of minutes between which transfers should occur.
• Log Filename - Specifies the name of the file that lists transferred data activity. Enter the filename and path,
or click Enter the filename and path, or click Log Filename to select an existing file.

Epicor ERP | 9.05.702 177


Implementation Components and Calculations Configurator Technical Reference Guide

The Enterprise Configurator Server Process automatically synchronizes the standard ud (user defined) tables
associated with a configured part. However, it does not automatically synchronize non-standard key fields used
for lookup for the configurator (in most cases ud tables but also Excel sheets and sometimes customer records
and part records. Even if they were synchronized, they they may be mapped, which complicates usage of lookups
and external 4GL programs.
To resolve this issue, you can use the Configurator Control Data program to define CFG Control Data table
records; it is a user-defined table specifically designed for use with the Configurator.
• It is similar to the standard UD tables but contains several user -defined Key fields and a link to the configurator
(company, part number and revision number) and a configurator type code defined in the Configurator Type
Maintenance program.
• This allows you to define additional data (stored outside of the standard product configuration tables) that
should also be automatically synchronized when running the Enterprise Configuration Server Process.

Configurator Control Data


Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > Setup > Configurator Control Data

These are the values you can modify for this item:
• Configurator - Specifies the configured part number for which the CFG Control Data record is being defined.
Enter the part number or click Configurator to access the Search window to select the configured part
number.
• Configurator Type - Specifies the configurator type for which the CFG Control Data record is being defined.
Click Type to access the Search window to select the configurator type, as defined in the Configurator Type
Maintenance program.
• Description- Describes the purpose of the control data record.
• Key 1 - Specifies the first user-defined index field for this control data record.
• Key 2 - Specifies the second user-defined index field for this control data record.
• Key 3 - Specifies the third user-defined index field for this control data record.

178 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Implementation Components and Calculations

• Key 4 - Specifies the fourth user-defined index field for this control data record.
• Key 5 - Specifies the fifth user-defined index field for this control data record.
• Key 6 - Specifies the sixth user-defined index field for this control data record.
• Key 7 - Specifies the seventh user-defined index field for this control data record.

Creating Subconfigurator Part Swaps in a Multi-Company Configurator Environment

In a multi-company enterprise configuration environment, the Set Part Number expression can be used when
defining structure rules in a Sales company. They can be defined to perform part number "swaps"; this works
in a manner similar to how Set Field method rules perform similar part number swaps for subassembly configured
parts in a single company environments.
When structure rules are processed during an actual Configuration session in the Sales company, the Epicor
application determines if a Set Part Number structure rule function has been defined for the subassembly. It then
swaps out the 'dummy' part number from the structure definition with an actual configured part; this is the
actual part number that is displayed when the part is configured in the external Sales company.
Manufacturing Company
For example, when a top level configured part (that contains subassembly configured parts) is configured in the
Manufacturing company, the Epicor application uses the Method of Manufacture (MOM) defined in the Engineering
Workbench to determine what subassembly configured parts need to be displayed. It also processes any applicable
method rules defined in the Configurator Designer, and applies the associated Keep When and Set Field rules
(among others) to the determine the actual material content of the configured item being manufactured.
• In this environment, when this configured part is defined as an Enterprise Configurator part (by selecting the
Enterprise Configurator checkbox on the Configurator Designer > Status sheet), it designates that the part
can also be configured in an external Sales company.
Note Subassembly configured parts must also be defined as enterprise configurator parts.

• Since the Method of Manufacture (MOM) and method rules defined in the Manufacturing company are not
exported to the external Sales company, the Epicor application cannot determine if any configured
subassemblies needs to be displayed when the part is actually configured in the Sales company.
• Hence, the Sales company must use structure definitions to determine the subassembly configured parts that
need to be displayed. The Epicor application must then process these structure rules to properly process and
determine placeholder functionality.
In order to do this, once you have designated the configured part (and its associated subassembly configured
parts) as an enterprise configurator in the Manufacturing company, you must run the Refresh Structure
Definitions selection on the Configurator Designer > Actions menu. This is only used when designing a
configurator that is going to be used in external sales companies (enterprise configurator).
Refresh Structure Definitions identifies and defines a list of subassembly configured parts that need to be displayed
during the configuration session in the Sales companies. It processes through all levels of the configuration,
determines all the subassembly configured parts that were previously defined in Engineering Workbench and
create structure definitions. Structure rules must be then created (in the Configurator Designer > Structure Rules
sheet) against the structure definitions for each subassembly configured part.
• You do this by selecting the structure definitions for the desired subassembly configurations in the Tree view
in the Configurator Designer > Structure Rules sheet.
• Once a structure definition has been selected, the New Structure Rule option is available in the toolbar. You
then the select Set Part Number option in the Expression Builder to create a rules that swaps out the
placeholder part number and displays a different subassembly configured part. These structure rules are similar
Keep When and Set Field method rules defined in a single-company configurator environment to determine
what subassembly configured parts should be displayed.

Epicor ERP | 9.05.702 179


Implementation Components and Calculations Configurator Technical Reference Guide

• Once the structure definitions have been generated and corresponding structure rules have been defined in
the Manufacturing company, they are exported to external Sales companies using the Enterprise Configurator
Sync or Enterprise Configurator Direct processes.
Sales Company
When imported structure rules are processed during an actual Configuration session in the Sales company, the
Epicor application determines if a structure rule (containing a Set Part Number expression) has been defined
for a subassembly and it processes the rule expression. If the conditions of the rule are satisfied, the Epicor
application replaces the placeholder subassembly part number with the part number specified in the rule expression;
this is the actual part number that is displayed when the part is configured in the external Sales company.

180 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Modifiers

This section details the various fields and tools you can use to adjust the primary Product Configurator calculations.
It contains descriptive information, the program in which the modifier is located, logic/ algorithms and examples
for many of the modifiers.
Use the modifiers you need to generate Product Configurator results that best reflect your production workflow.
Note that this section is not all-inclusive; it only includes fields, check boxes or combo boxes that actually have
some effect on the behavior of the Product Configurator. It does not include data entry fields that simply update
literals that do not impact of the Product Configurator functionality.

Allow Reconfiguration in PO

Specifies if (for the configurator being designed for this universal base part number) a sales order configuration
created in Order Entry can be reconfigured on-the-fly in Purchase Order Entry.
Select this check box to allow reconfiguration of these items in Purchase Order Entry. This enables use of the
Configure button in the Purchase Order > Lines > Detail sheet. This allows a user to (optionally) reconfigure a
configuration created on a sales order when it is formally purchased. When a sales order configuration is
reconfiguring in Purchase Order Entry, the Epicor application applies order pricing and Document Rules to the
linked sales order line when the configuration is saved. Conversely, when the configuration is reconfigured in
Order Entry, the Epicor application applies purchase order pricing and Document Rules to the linked purchase
order line when the configuration is saved.
Clear the check box to prevent a sales order configuration created in Order Entry from being reconfigured
on-the-fly in Purchase Order Entry. This disables use of the Configure button in the Purchase Order > Lines >
Detail sheet.

Where Located

The Allow Reconfiguration in PO check box is located on the Configurator Designer > Status sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 181


Modifiers Configurator Technical Reference Guide

All Values

Select this checkbox if the pricing logic applies to all possible input values in a configuration input field. For
example, select the All Values check box if you are applying the same pricing to all memory selections for a
Memory combo box, such as 500 MB, 1GB or 2GB.
Leave the check box cleared if you wish to apply different base pricing to different option selections for the same
control. Clear this check box if the pricing logic only applies to this corresponding input value and does not apply
to all possible input values in the combo box.

Where Located

The All Values check box is located on the Configurator Designer > Input Rules > Pricing > General > Input
Pricing > Order / Quote / Purchase > Detail sheets.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

A combo box input COMBOBOX1 has been added to a configuration input page; the item list for COMBOBOX1
is defined as Red,Blue,Green.
The All Values checkbox has been selected in the Input Rules > Pricing > General > Input Pricing > Order > Detail
sheet, and 25.00 was specified in the Price For Value field. Regardless of which specific option is selected from
the COMBOBOX1 input during the configuration session, 25.00 order pricing is always applied for this input.

Approved / Not Approved

The Approved/Not Approved buttons (and associated check box) indicate whether this revision has been
approved for use.
• Only approved revisions are considered valid revisions in entry programs. Once a revision is approved, you
cannot make any maintenance changes to that revision or enter any bill of material or routing information.
• In order to check the revision out to an ECO Group for maintenance, you must clear the Approved check
box. When this check box is selected, the Not Approved button to the left of the check box appears as
highlighted (the default highlight color is green), and the text on the button changes to Approved.
• When you select the Approved check box, the Revision Change Description sheet appears for entry of any
descriptive comments for this is approval. The Epicor application stores the user ID, system date and comments
every time you approve a revision.

182 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Once a revision number has been assigned to the part, it can then be checked out to an ECO group. Once checked
out to an ECO group, a Method of Manufacture and the related configuration can then be developed in the
Engineering Workbench.

Where Located

The Approved / Not Approved buttons (and associated check box) are located on the Part Maintenance -
Revisions sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When the configuration is approved, it generates external rule programs that are used during the actual
configuration process and when using the Get Details sheet in Opportunity/Quote Entry and Job Entry. If for
some reason there is an error during the generation of these rule programs, it displays a message stating the
error and it won't allow you to approve the configuration until the problem is resolved.
The logic operates in the following manner:
• Each time a configured part is approved in the Configurator Designer, it assigns a configuration version to
the main configuration record.
• Each time the configuration is unapproved and reapproved in the Configurator Designer, it increments this
value by one.
• When a configuration is saved during a configuration session in Opportunity/Quote Entry, Order Entry, Purchase
Order Entry, Job Entry or Demand Entry, it saves the input values that were entered during the configuration
session with the same configuration version number of the main configuration record for the current base
part.
• If a part is configured on a quote or job, and the configuration for the base configured part is unapproved
and reapproved in the Configurator Designer (prior to using the Get Details sheet in Job Entry or
Opportunity/Quote Entry), a message appears stating that the configuration has changed and must be
reconfigured. This occurs because the configuration versions no longer match due to the fact that the base
configuration changed since the part was configured on the quote or job. It does not allow use of the Get
Details sheet until the part is reconfigured.

Epicor ERP | 9.05.702 183


Modifiers Configurator Technical Reference Guide

Automatically create a new part number

Select this check box to automatically create part numbers in the Part file; in this scenario no message is displayed
during a configuration session.
Clear the check box to display the following message in a configuration session asking the user if a new part
number should be created:

• The following input window appears in the configuration session after clicking Yes:

• Note that this check box is automatically selected when the Save Input Values check box has been selected.
Note that this window only appears if the Prompt for a new part number option has been selected in the
Available Methods field on the Input Rules > Inputs > Detail sheet. If the Use Smart String as the new
part number check box has been selected in the Smart String sheet, this window doesn't display; the Epicor
application uses Smart String logic to automatically generate the part number.

Where Located

The Automatically create a new part number check box is located on the Configurator Designer > Input
Rules > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When a part number is saved during a configuration session in Quote Entry, Order Entry, Purchase Order Entry
Job Entry or Demand Entry, the Epicor application verifies this setting prior to saving the configuration. If this
checkbox is selected, it does not display a message asking the user if a new part number should be created for
the configuration.

184 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Automatically Mark Methods Global

Designates if, when this base part is configured in a multi-company environment, the resulting enterprise part
should automatically be flagged as Global.
• Select the check box if the base part should be flagged as Global when configured in a multi-company
environment. This allows the associated method of manufacture (generated when saving a configuration
after completing a configuration session) to be exported by the Multi-Company Configuration Process; this
results in the linking of the associated material content to external companies. Once each material part has
been linked in the external company, component pricing can be used for the enterprise configurator part in
the external company.
• Clear the check box if each material part contained in the resulting method of manufacture must be manually
marked as Global in Part Maintenance; if not marked as Global, the associated part is not available for
component pricing in the external companies.
Note This check box should be used only if the Enterprise Configurator check box been selected for
this base part in the Configurator Designer > Status sheet, and the Use Component Pricing check box
has also been selected in the Pricing > Options sheet). It does not apply to configurations performed in a
single-company environment.

Where Located

The Automatically Mark Methods Global check box is located on the Product Configurator Designer >
Input Rules > Pricing > General > Input Pricing > Order / Quote / Purchase / Demand > Detail sheets).

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Available Methods

Specify the method being used to assign a part number in the configuration session (rather than generate one).
Select one of the following:
• Use Smart String as the new part number - Use the Smart String generated in the configuration session
as the new part number. Refer to Smart String for more details.
• Prompt for a new part number - During a configuration session, the Epicor application displays a message
prompting for manual entry of a part number for the configuration when the configuration is saved.

Epicor ERP | 9.05.702 185


Modifiers Configurator Technical Reference Guide

Where Located

The Available Methods field is located on the Configurator Designer > Input Rules > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When saving a configuration during a configuration session in Order Entry, Quote Entry, Purchase Order Entry,
Job Entry or Demand Entry, the Epicor application verifies the setting of the Available Methods field in the
Input Rules > Part > Creation sheet. If Use Smart String as the new part number has been selected, it processes
the settings defined in the Smart String sheet and generate a new part number using the resulting value.
If Prompt for a new part number has been selected, it displays the New Part dialog box, prompting for entry
of the part number that is being used for the configuration.

Available Styles

Specify the basis of how the Smart String should be constructed.


Select one of the following:
• No Smart String Functionality - No Smart String should be created.
• Smart String Constructed from Inputs - The Smart String should be constructed based on inputs entered
by the user when the part is configured during an actual configuration session in Order Entry or
Opportunity/Quote Entry. When this option is selected, you must specify the selected inputs on which the
Smart String is being based using the selected input.
• Part Number + Order Number/Quote Number + Order/Quote Line - The Smart String should be
constructed from the part number, the number of order or quote, and the line number from the order or
quote.
• Part Number + Sequential Number Smart String should be constructed from the part number and a
sequential number.

186 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Available Styles field is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

If the Use Smart String as the new part number option has been selected in the Use Available Methods
field in the Input Rules > Part > Creation sheet, the Epicor application does not allow selection of the No Smart
String Functionality option in the Available Styles field. You must properly define the Smart String setting
used to generate the part number.
When saving a configuration during a configuration session in Order Entry, Quote Entry or Demand Entry, the
Epicor application processes the settings defined in the Smart String sheet and updates any of the fields that may
have been selected on this tab (for example, Comments, Customer Part Number and remaining fields). If you
are using the Smart String to create the part number, it processes the settings and generates a part record and
sets the identifier set to the resulting part number.

Available Inputs/Selected Inputs

Click Available Inputs to display a list of available inputs; one or more of the inputs can be selected. After
clicking OK button is selected, it populates the Selected Inputs field.
The Selected Inputs field establishes which inputs should be included in the Smart String for a configuration of
the part.
• Use the up and down arrows to establish the order of appearance of inputs.
• Click Format to access the Smart String Display Format window to specify the formatting of the value (entered
for the selected input during a configuration session) and how it should appear in the resulting Smart String.
For example, if you have selected a combo box, you can specify the value that should be displayed in the
resulting Smart String when each option is selected for the combo box during the configuration session.
• The formatting information options that appear in the Smart String Display Format window are dependent
on the type of selected input, and are similar to those available in the Input Rules > Inputs > Detail sheet.
Refer to the Input Rules > Inputs > Detail section for detailed information.

Epicor ERP | 9.05.702 187


Modifiers Configurator Technical Reference Guide

Where Located

The Available Inputs / Selected Inputs fields are located on the Configurator Designer > Part > Smart String
sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When a configuration is saved during a configuration session in Order Entry, Opportunity/Quote Entry or Demand
Entry, the Epicor application verifies if any Smart String logic has been defined. If the Smart String Constructed
from Inputs option has been selected for the available style specified in the Configurator Designer > Part >
Smart String sheet, at least one input must exist in the Selected Inputs field.
The Epicor application constructs the Smart String using the resulting values of the selected inputs.

Example

Two inputs (FILLIN1 and FILLIN2) have been defined for a configured part, FILLIN1 and FILLIN2 have been selected
from the Available Inputs list for use in the Selected Inputs field, and a dash (-) has been selected as the separator
character in the Smart String sheet. If a value of ABC is entered into the FILLIN1 field, and XYZ is entered into
the FILLIN2 field during a configuration session, the Epicor application generates a Smart String of ABC-XYZ when
saving the configuration.

Buttons

When defining a radio button set, specify the list of option buttons from which the user can select. The user can
select only one of the radio buttons during a configuration session.
• The correct syntax is Item1,A,Item2,B,Item3,C, where Item1 is the label literal that displays during a
configuration session, and A is its value. The label is followed by a comma delimiter, then the value of the
entry that is actually stored in the configuration itself, with no spaces between the options.
• For example, if you are defining a Color radio set, and the actual color selection is stored in the configuration
itself, the radio button selection would be expressed as Red,Red,Blue,Blue,Green,Green.

188 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Buttons field is located on the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

You have added a radio button (RADIOSET1) to a configuration input control page with the input value settings
equal to Red,R1,Blue,B1,Green,G1 (Red, Blue, and Green display as selectable radio button options on the input
page). If you select Red during a configuration session, the Epicor application saves the actual value as R1.
If this radio button input is being evaluated in another On Leave expression, the Epicor application evaluates the
resulting string value If RADIOSET1 = "R1" then do.....

Character Value / Date Value / Decimal Value / Logical Value

Specify the default input value for the type of global variable input being defined. The Epicor application assigns
this as the default value during an actual configuration session if the global input variable doesn't already have
a value (that is, it hasn't already been assigned by a previous configured part during the same configuration
session).

Where Located

The Character Value, Date Value,Logical Value, and Decimal Value fields are located on the Global Input
Variables selection that can be accessed from the Actions menu in any of the Configurator Designer sheets.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 189


Modifiers Configurator Technical Reference Guide

Logic/Algorithms

During a configuration session, if an "instance" of the global input variable hasn't already been created (the
value wasn't passed in from another configured part during the same configuration sessions), the Epicor application
creates an instance of the variable and assigns the initial default value as defined in the corresponding field. For
example, if it is a Character type field, the Epicor application places the default value (as defined in the Character
Value field) into the input control.
It also assigns this initial value to the input that is linked to this global input variable.

Example

A logical global input variable GLOBAL1 has been created, and the Logical Value check box has been selected.
You selected this global input variable for a check box input control created on a specific configuration.
When the input page that contains this check box loads during a configuration session, the Epicor application
creates the global input variable and assigns the initial value of selected to the value. This also sets the default
value for the checkbox input to selected.

ColumnName / Condition / Value

These modifiers work together and allow you to specify the structure of a BAQ being defined for a dynamic list:
• ColumnName > Specifies the column from the BAQ that should be used for this Search field. This field
includes all columns associated with the BAQ selected in the BAQ field in the Dynamic Lists - Detail sheet.
Select the BAQ column being used for this Search field..
• Condition - Specifies how the Search input field should evaluate the value that the user enters. The search
results that appear resolve against the condition value you select from this list. The following selections can
be made.
• Value - Specifies the return value that should be used to limit the search results. This field includes all columns
associated with the BAQ selected in the BAQ field in the Dynamic Lists > Detail sheet. Select the BAQ column
being used for this Search field. A constant value can also be entered into this field..

Where Located

The BAQ field, Display Value field, Input Value field and Run BAQ check boxes are located on the Configurator
Designer > Input Rules > Inputs > Detail > Dynamic Lists > Criteria sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

190 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Condition

Enter the expression statement stating the conditions that must be satisfied to display the specified dynamic list
in the selected combo box control during a configuration session, or click Edit to use the Expression Builder to
build the statement. Refer to the Expression Builder / Content Functions and Express Builder Functions
sections for detailed information.

Where Located

The Condition field is located on the Configurator Designer > Input Rules > Inputs > Detail > Dynamic
List sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

During an actual configuration session, if multiple dynamic lists are defined for the same combo box, the Epicor
application processes the dynamic lists in the order that they are defined.
If it processes a condition that is satisfied (returned true), it populates the combo box with that dynamic list, and
skip processing of the remaining dynamic lists. If none of the dynamic list conditions are satisfied, it uses the list
items and initial value that were defined for the combo box itself in the Input Rules > Inputs > Detail sheet.

Example

Two combo box inputs COMBOBOX1 and COMBOBOX2 have been added to a configuration input page; the
item list for COMBOBOX1 is defined as Red,Blue,Green, and the item list for COMBOBOX2 is defined as A,B,C.
A dynamic list has been added to the COMBOBOX2 input with the following condition expression:
COMBOBOX1 matches "Red"
The list items defined for this dynamic list is defined as X,Y,Z. During a configuration session, when the value of
COMBOBOX1 changes, the Epicor application evaluates the condition created for COMBOBOX2. If the value
selected for COMBOBOX1 is Red, it populates the list items for COMBOBOX2 with X,Y,Z because the dynamic
list condition was satisfied. If a different value was selected for COMBOBOX1 other than Red, the list items for
COMBOBOX2 display as A,B,C. The Epicor application uses the list items defined for the actual input because
the dynamic list condition wasn't satisfied.

Epicor ERP | 9.05.702 191


Modifiers Configurator Technical Reference Guide

Create Alternative Methods

Specifies if alternate method records should be created in other plants when a part is created during configuration
in the current plant.
Select the check box if alternate method records should be created in other plants when a configuration part is
created (when the universal base part is configured during a configuration session in the current plant). Clear
the check box if alternate method records should not be created in other plants when a configuration part is
created (when the universal base part is configured during a configuration session in the current plant).

Where Located

The Create Alternative Methods check box is located on the Configurator Designer > Input Rules > Part
> Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Create a new part number at zero cost

Select this check box to set the cost of the new part at zero. If the check box is cleared, the cost of the base part
is used as the cost of the new part.

Where Located

The Create a new part number at zero cost check box is located on the Configurator Designer > Input
Rules > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

192 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Logic/Algorithms

Normally, when a part is created (using the regular Part Creation logic), the Epicor application assigns the cost
fields equal to the cost defined for the base configured part. If the Create a new part number at zero cost
check box has been selected, the Epicor application creates the new part but does not assign the cost fields from
the base configured part.

Example

A base configured part has a sales unit price of 125.00.


When saving a configuration during a configuration session in Order Entry, Opportunity/Quote Entry, Purchase
Order Entry, Job Entry or Demand Entry, the Epicor application creates a part using the parameters defined in
the Configurator Designer > Input Rules > Part > Creation sheet. When it creates the part record, the Epicor
application assigns a value of 125.00 as the sales unit price (the same as the base configured part). If the Create
a new part number at zero cost has been selected, it creates the part number the same way, but does not assign
the 125.00 value as the sales unit price.

Create a new part number for each configuration

Select this check box to automatically create a part number each time a new configuration is created (saved) for
the base configured part in a configuration session. If this check box is cleared, none of the remaining fields on
the Input Rules > Part > Creation sheet are enabled; their operation is all dependent on selection of this check
box.

Where Located

The Create a new part number for each configuration field is located on the Configurator Designer >
Input Rules > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When saving a configuration during a configuration session, the Epicor application verifies if the Create a new
part number for each configuration check box has been selected in the Configurator Designer > Part Creation
sheet. If it is, it creates a new part in the Part table based on the settings of the other parameters defined in the
Input Rules > Part > Creation sheet.

Epicor ERP | 9.05.702 193


Modifiers Configurator Technical Reference Guide

Create a new part number in

The Create a new part number in section of the Configurator Designer > Input Rules > Part > Creation sheet
contains Job Entry, Order Entry, Quote Entry and Demand Entry check boxes that allow you to specify if
entry of a new part number or use of the Smart String is allow when an item is configured in Job Entry, Order
Entry, Demand Entry or Opportunity/Quote Entry.
Refer to Job Entry, Order Entry, Quote Entry and Demand Entry in this section for more details.

Where Located

The Create a new part number in section is located on the Configurator Designer > Input Rules > Part >
Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When saving a configuration during a configuration session in Quote Entry, Order Entry, Purchase Order Entry
or Job Entry, the Epicor application verifies that the Create a new part for each configuration check box has
been selected. If it is, the Epicor application verifies the settings of the Order Entry, Quote Entry and Job Entry
check boxes in the Smart String sheet to determine where the part number should be created.
Depending on the program in which the part is currently being configured, the settings of these check boxes
determine whether the Epicor application creates an actual part record for the current configuration session.

194 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Customer Part Number

Select this check box if the customer part number displayed in Order Entry or Quote Entry should include the
resulting Smart String generated during an actual configuration session. Clear the check box if it should not
include the resulting Smart String.

Where Located

The Customer Part Number check box is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When saving a configuration during a configuration session in Quote Entry, Order Entry, Purchase Order Entry
or Job Entry, the Epicor application updates the Customer Part Number field with the resulting Smart String
value if the Customer Part Number check box has been selected.
Note that when you use the Get Details sheet in Quote Entry or Job Entry, the Epicor application processes all
associated rules. For example, if you created an associated Set Field rule, the Epicor application overwrites the
Smart String value that was previous assigned to the Customer Part Number field when processing the Set
Field rule, updating the customer part number with the new value.

Create Revision

When the Create a new part number for each configuration check box has been selected, the Epicor
application creates a new part number when a configuration is saved after completing a Configuration session.
If you select the Create a new part number for each configuration check box for the base part, the Epicor
application creates a new configured part number (when you save a configuration created for the base part after
completing a Configuration session).
• Select this check box if the Epicor application should also create a new part revision record for the newly
created part when a configuration is saved after completing a Configuration session.
• Clear this check box to skip creation of a new part revision record when a configuration is saved after
completing a Configuration session.

Epicor ERP | 9.05.702 195


Modifiers Configurator Technical Reference Guide

Where Located

The Create Revision check box is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Default ECO Group

If you select the Prompt For Checkout check box, you can use this field to specify the default value that appears
in the ECO Group field in Part Revision Checkout (invoked when you use the Check Out Revision selection,
located under the Revision submenu in the Part Maintenance Actions menu).
Enter the ECO Group number (as defined in ECO Group Maintenance), or click Default ECO Group to access
ECO Group Search to browse a listing of valid ECO Group numbers.

Where Located

The Default ECO Group field is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

196 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Demand Entry

Select this check box to allow entry of a new part number or use of the Smart String when the item is configured
in Demand Entry. It is automatically selected if the Save Input Values check box, which is also on this sheet,
has been selected.
Clear this check box to prevent entry of a new part number or use of the Smart String when the item is configured
in Demand Entry.

Where Located

The Demand Entry check box is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Digit Structure

If the Part Number + Order Number/Quote Number + Order/Quote Line option was selected in the Available
Styles check box in the Configurator Designer > Digit Structure sheet, specify the structure of the digits for the
Smart String.
Select one of the following:
• All Digits (00000999) - The significant digits of the Smart String should be preceded by leading zeroes. The
significant digits are comprised of the individual elements sections of the Smart String, in this case the
order/quote number and the order/quote line item.
• Only Significant Digits (999) - The digit structure only includes the significant digits of the Smart String (no
leading zeroes).

Where Located

The Digit Structure field is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer

Epicor ERP | 9.05.702 197


Modifiers Configurator Technical Reference Guide

For CRM users, the Main Menu appears as:


• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

If the All Digits option has been selected in the Digit Structure field in the Configurator Designer > Part >
Smart String sheet, and you are configuring the part on Line 1 of Quote 123, the resulting Smart String value
would be 00000123-001. If the Only Significant Digits option has been selected in the Digit Structure field,
the resulting value would be 123-1.

Do not notify the user if new part number already exists

Select this check box to skip display of a notification during a configuration session when a duplicate part already
exists. Clear the check box to display a warning message when a duplicate part already exists.
If a part with the new name already exists, the existing part record is not changed.

Where Located

The Do not notify the user if new part number already exists check box is located on the Product
Configurator - Input Rules - Part - Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

If this check box is cleared, when you create a configuration using Smart String logic (and the Create a new
part number for each configuration check box has been selected in the Input Rules > Part > Creation sheet),
and then create a second configuration using the same input values (resulting in creation of the same Smart
String), a message appears when saving the configuration stating the part number already exists. If the Do not
notify the user if new part number already exists check box has been selected, this message does not appear
in this situation.

198 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Do not process On Leave expressions when page loads

When an input page normally loads during a configuration session, the Epicor application normally loads all On
Leave expressions that have been defined for specific controls (fields) in the Inputs > On Leave sheet before data
entry commences.
• Select this check box to skip this normal loading of On Leave expressions when the input page first appears
during a configuration session. This is useful when you wish to suspend or prevent processing of On Leave
expressions for the input page during a configuration session.
• When a page loads, it processes all On Leave logic that may exist for the current page. In some situations,
you do not want On Leave logic processed until certain previous inputs have been populated by a user. This
checkbox is useful when you wish to suspend or prevent the initial processing of On Leave expressions for
the input page during configuration sessions; it only suspends the initial processing. When physically leaving
specific controls on the page, it still processes On Leave expressions.

Where Located

The Do not process On Leave expressions when page loads check box is located on the Configurator >
Input Rules > Page Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

You have created a configuration with two Character input controls (FILLIN1 and FILLIN2). An On Leave statement
(IF FILLIN1 = "" THEN FILLIN2 = `Must enter a value in FILLIN1') has been created for the first input (FILLIN1) that
is dependent on entry of a value.
Select the Do not process On Leave expressions when page loads check box if you wish to skip processing
of OnLeave logic, and the resulting display of the Must enter a value in FILLIN1 message in FILLIN2 when the
page initially loads. Note that the Epicor application processes this logic when actually leaving the respective input
controls, so if FILLIN1 doesn't contain a value, the message (above) displays in FILLIN2 when leaving FILLIN1.

Don't Display Input in Configuration Summary Grid

The Configuration Summary page can be viewed by clicking a Configuration button after configuring a part
during a configuration session in Opportunity/Quote Entry, Order Entry, Purchase Order Entry, Job Entry or

Epicor ERP | 9.05.702 199


Modifiers Configurator Technical Reference Guide

Demand Entry. It displays a summary of the inputs and input values (selections) that were entered for the
configuration.
Select this check box if the input control being defined should not be displayed in the Configuration Summary
grid during the reconfiguration of a part. Clear the check box if the input control being defined should be displayed
in the Configuration Summary grid.

Where Located

The Don't Display Input in Configuration Summary Grid check box is located on the Configurator Designer
> Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

End Position

Defines the ending position for the value of this input control in a smart string.
• For example, the first string position (Color) might be start in position 1, end in position 2 and represent the
color of the item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the item.
• In this case, when defining the Color string position, you would specify that it ends in position 2; if defining
the next string position (Metal Type), you would specify that it ends in position 4.

Where Located

The End Position field is located on the Configurator Designer > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

200 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Enterprise Configurator

Select this check box if this is an enterprise configurator. When selected, it also enables the Synchronize check
box in the Status sheet, and also enables the External Company field in the Input Rules > Pricing > General >
Input Pricing > Order / Quote > Detail sheets.
Refer to the Product Configuration in a Multi-Company Enterprise topic in the Configurator Concepts
and Base Components section for more details on operating the Configurator in a multi-company environment.
Clear this check box if this is not an enterprise configurator. If cleared, you cannot access the Structure Rules
tab and accompanying sheets to define structure rules for the configured part. You would clear this check box
if the configuration is being used in a single company environment only. A single company environment is
one in which the configuration defined and used (the part is being configured and manufactured) in a single
company within the same database.

Where Located

The Enterprise Configurator check box is located on the Configurator Designer > Status sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

None

Format (Character)

When you define a Character data type input in the Format field in the Configurator Designer > Input Rules
> Inputs > Detail sheet and click Format, the Character Format window appears and allows you to specify the
acceptable character format.
In the Character Format window, use the Length field to specify the number of allowable characters that can
be entered into the field during a configuration session, and then select one of the following character formats:
• Any Character - Any character (for example, alphanumeric, punctuation marks) can be entered.
• Letters and Numbers Only - Only alphanumeric characters can be entered.
• Purchased - This option must not be used when defining a configured part.
• Letters Only - Only alpha characters can be entered.

Epicor ERP | 9.05.702 201


Modifiers Configurator Technical Reference Guide

• Letters Only and Convert to Caps - Only upper-case alpha characters can be entered.
• Numbers Only - Only numbers can be entered (no alphanumeric characters).

Where Located

The Format field is located on the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

Add a Character type input control to configuration input page using the Input Rules > Inputs > Detail sheet,
and then select the Numbers Only option in the Characters field in the Character Format window that can be
accessed by clicking Format. Notice that the input control does not allow entry of non-numeric characters when
you select Test Inputs from the Actions menu.

Format (Date)

When you define a Date data type input in the Format field in the Configurator Designer > Input Rules > Inputs
> Detail sheet and click Format, the Date Format window appears and allows you to specify the acceptable date
format.
Select one of the following character formats:
• 99/99/99 - Two-character year, with month, date, and year delimited by slashes (for example, 12/31/08).
• 99 -99-99 - Two-character year, with month, date, and year delimited by dashes (for example, 12-31-08).
• 99.99.99 - Two-character year, with month, date, and year delimited by periods (for example, 12.31.08).
• 99/99/9999 - Four-character year, with month, date, and year delimited by slashes (for example, 12/31/2008).
• 99 -99-9999 - Four-character year, with month, date, and year delimited by dashes (for example, 12-31-2008).
• 99.99.9999 - Four-character year, with month, date, and year delimited by periods (for example, 12.31.2008).

202 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Format field is located on the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

Add a Date type input control to configuration input page using the Input Rules > Inputs > Detail sheet, and then
select 99-99-9999 from the Date Format field in the Number Format window that can be accessed by clicking
Format. Notice that it only allows you to enter a date value in the selected format.

Format (Decimal)

When you define a Decimal data type input in the Format field in the Configurator Designer > Input Rules >
Inputs > Detail sheet and click Format, the Number Format window appears and allows you to specify the
acceptable number format using for the Negatives, Number of Digits, Number of Decimals and Thousands
Separator fields. Refer to those respective topics in this section for more details.

Generate Method

Normally, when you select the Create a new part number for each configuration check box, and clear the
Save Input Values check box, the Epicor application creates a new configured part when you save a configuration
after completing a Configuration session; however, it does not generate an associated method of manufacture.
• If you select the Generate Method check box, the Epicor application also generates a method of manufacture
at the same time. It works in a manner similar to the Save Input Values functionality; it processes associated
method rules and generates a method of manufacture based on the application of the method rules. However,
unlike the Save Input Values functionality, it does not save the input values for later reuse.
• Clear this check box if a method of manufacture should not be created when a new part has been created
when completing a Configuration session.

Epicor ERP | 9.05.702 203


Modifiers Configurator Technical Reference Guide

Where Located

The Generate Method check box is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Generate Methods Using Resulting Quote Method

By default, the Epicor application generates methods (using the resulting job method) after it has processed any
Keep When and Set Field rules on job records. Correspondingly, this check box allows you to designate if the
Epicor application should generate methods (using the resulting quote method) on quote records after it has
processed any Keep When and Set Field rules on quote records. Select the check box to perform this task; clear
the check box to skip this.
Due to the fact that the Epicor application doesn't build Set Field rules on header records and the main assembly
records (Assembly Sequence 0) into the resulting generated methods, they are processed as normal when using
Get Details commands. At that time, the Epicor application verifies existing configuration information. If you
would like the Epicor application to update fields on QuoteDtl Quote Detail) or main QuoteAsm (Quote Assembly)
records, and you also want to update fields on the JobHead (Job Header) or main JobAsmbl (Job Assembly)
records, you should defined separate Set Field rules for each situation.

Where Located

The Generate Methods Using Resulting Quote Method check box is located on the Configurator Designer
> Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

204 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Global

Select this check box if the traits specified for the configuration entry for this field are global for an entire quote,
order, job, purchase order or demand order. It would be selected if a trait (like a color) that applies to the first
line is the default for all subsequent lines.
In this scenario, when the user enters a value into this field while configuring the part in Order Entry,
Opportunity/Quote Entry, Job Entry, Purchase Order Entry or Demand Entry, the following appears asking if you
would like to apply this value across all detail lines:

Select this check box if the traits specified for the configuration entry for this field are not global for an entire
quote or order.

Where Located

The Global check box is located on the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

If the Global check box has been selected for a configuration page input control, when you enter a value into
that control when configuring a quote line during a configuration session, and then add a second configured
quote line, the value entered into that input control for the first quote line becomes the default value for the
input control for the second quote line. If the value of the input control is changed for the second quote line
during the current configuration session, a message appears stating the Global Input has changed, and asks if
you would you like to apply it to all detail lines.
If click Yes, it updates the input value for the input created for the first quote line.

Epicor ERP | 9.05.702 205


Modifiers Configurator Technical Reference Guide

Global Input Variable

Select this check box if the value entered in this input control during an actual configuration session should also
update the value of the global input variable selected in the Global Variable Name combo box.
• If selected, the Epicor application passes this value throughout a single configuration session for an order line,
quote line, job, purchase order line or demand order line; it is made available to lower subassemblies or parts
that are defined in the parent BOM that are also being configured during the same configuration session. It
is useful if you want to express a lower-level input in terms of a top-level input or another lower-level input.
• If a configured part is added as a subassembly of another configured part, this check box allows "passing
down" of the input value of a top-level configuration for use in the configuration of the lower-level
configuration. It can also be used to pass a value throughout the entire configuration, or between two
lower-level subassemblies. For example, a global input variable doesn't necessarily have to be assigned at the
top-level; it could simply be selected and used on two subassembly configured parts, and the values could be
passed between the two subassemblies themselves.
• The input for the top-level configured part displays as a selectable input when creating On Leave, Prompt
When, or Rule expressions on the lower-level configured parts.
• Note that if the same global input variable has also selected in the Global Variable Name checkbox of a
lower-level configurations input, the Epicor application updates the input (for the corresponding lower-level
configuration) with the value that has already been assigned to the global variable from the previous top-level
configuration. The value that is assigned to this selected global variable stays consistent throughout a single
configuration session.
• If the value is changed on the top-level or a lower-level configured part, the value also changes for any other
configured parts for which this same global variable has been selected. This occurs within a single configuration
session for a specific quote line, order line, job, purchase order line or demand order line - this value does not
pass across different line items on the same order or quote.

Where Located

The Global Input Variable check box is located on the Configurator Designer > Input Rules > Inputs >
Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

206 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Logic/Algorithms

During an actual configuration session, the Epicor application verifies if the Global Input Variable check box
has been selected for any input control. If it is, it then determines the selected global variable input from the
associated Global Variable Name combo box.
You have selected the Global Input Variable check box in order to link a global input variable name to an input
control in the Configurator Designer > Input Rules > Inputs > Detail sheet.

Global Variable Name

If the Global Input Variable check box was selected, specify the corresponding global input variable that the
Epicor application updates when the value of this input control is changed during a single configuration session.
The selections that display are those that have been defined using the Global Input Variables selection on the
Actions menu.
• It only displays selections that have the same data type as the current input. For example, if the current input
control is a Logical input, only logical global input variables selections are displayed.
• If a global input variable was defined that has the same name as one of the inputs for the current configuration,
it does not display as one of the selections in this field (it does not allow duplicate input name and global
variable names for the same configured part).
• Refer the Global Input Variables topic for more details.

Where Located

The Global Variable Name combo box is located on the Configurator Designer > Input Rules > Inputs >
Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 207


Modifiers Configurator Technical Reference Guide

Input Name

Specifies the name of the input field (for example, Color, Metal Type, Engine Size) being defined. The Epicor
application uses this to identify the control during actual configuration sessions in Order Entry, Opportunity/Quote
Entry, Purchase Order Entry, Job Entry or Demand Entry.

Where Located

The Input Name field is located on the Configurator Designer - Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Initial Value

The entry in the Initial Value field (or check box) is dependent on the type of input control being defined:
• For a Browser field input control, enter the default URL (if any) for the field (for example, http://epicor.com).
This is an optional field; leave it blank if you do not want a default value to display in this field during an
actual configuration session.
• For a Character or Editor field input control, enter the default value for the field (for example, ABC). This is
an optional field; leave it blank if you do not want a default value to display in this field during an actual
configuration session.
• For a Check Box input control, select the Initial Value check box if the default value for the check box control
being added to the input page should be selected (that is, by default, the check box appears as selected).
Leave it blank if you do not want a default value to display in the check box during an actual configuration
session. The check box is cleared by default.
• For a Combo Box input control, specify the default option selection (if any) (for example, Green). This is an
optional field; leave it blank if you do not want a default option selection to display in this combo box during
an actual configuration session. The initial value entered into this field must be one of the list items that were
specified in the List Items field.
• For a Date field input control, enter the default value (if any) for the field (for example, 12 -31-2008). This is
an optional field; leave it blank if you do not want a default value to display in this field during an actual
configuration session.
• For a Decimal field input control, enter the default value (if any) for the field (for example, 1.2). This is an
optional field; leave it blank if you do not want a default value to display in this field during an actual
configuration session.

208 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

• For a Radio Set input control, enter the default value (if any) for the radio set (which option button should
be selected as a default). This is an optional field; leave it blank if you do not want a default value to display
in this field during an actual configuration session.

Where Located

The Initial Value field (check box) is located on the Configurator Designer > Input Rules > Inputs > Detail
sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Input Name (Global Input Variables)

Enter the name of the global input variable as it should appear when displayed as a selectable option in the
Global Variable Name combo box in the Input Rules > Inputs > Detail sheet.
• Be aware when naming the global input variable selections so that they do not have the same names as input
controls themselves. For example, if an input control being used for a configured part is called Size, do not
use it as the name for any of global variable selections. When using the Global Variable Name combo box,
the Epicor application prevents selection of a global input variable with the same name as a control being
used for the same configured part.
• Note that the global input variables you create in this program aren't linked to a specific part or revision - you
create the selections as part of an all-inclusive list that can be shared by many configured parts or revisions.
It may be advisable to use a naming convention that clearly differentiates global input variable names from
the names of input controls themselves.

Where Located

The Input Name field is located on the Global Input Variables selection that can be accessed from the Actions
menu in the Configurator Designer.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer

Epicor ERP | 9.05.702 209


Modifiers Configurator Technical Reference Guide

Important This program is not available


®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Invisible

Select this check box if the control being defined should not be displayed on the input page during a configuration
session. Clear the check box if the control being defined should be display on the input page during a configuration
session, and in the designer itself.

Where Located

The Invisible check box is located on the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Invoice Comments

Select this check box if the invoice comments on sales orders should be updated with the resulting Smart String
generated during an actual configuration session.

Where Located

The Invoice Comments check box is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

210 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Logic/Algorithms

When saving a configuration during a configuration session in Order Entry or Opportunity/Quote Entry and the
Invoice Comments check box has been selected in the Configurator Designer > Part > Smart String sheet, the
Epicor application updates the Invoice Comments field on the sales order with the resulting Smart String value.

Job Entry

Select this check box to allow entry of a new part number or use of the Smart String when the item is configured
in Job Entry. It is automatically selected if the Save Input Values check box, which is also on this sheet, has been
selected.
Clear this check box to prevent entry of a new part number or use of the Smart String when the item is configured
in Job Entry.

Where Located

The Job Entry check box is located on the Configurator Designer > Input Rules > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

If Create a new part number for each new configuration check box has been selected in Input Rules > Part
> Creation sheet, the Epicor application only creates a new part number when saving the configuration (during
an actual configuration session in Job Entry) if the Job Entry checkbox has also been selected. If the Job Entry
check box cleared, the Epicor application saves the configuration but does not create a new part record in the
Part table.

Epicor ERP | 9.05.702 211


Modifiers Configurator Technical Reference Guide

Job/Pick List Comments

Select this check box if the pick list comments on sales orders, and the job comments on quotes should be updated
with the resulting Smart String generated during an actual configuration session.

Where Located

The Job/Pick List Comments check box is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When saving a configuration during a configuration session in Order Entry or Opportunity/Quote Entry and the
Job/Pick List Comments check box has been selected in the Configurator Designer > Part > Smart String sheet,
the Epicor application updates the Pick List Comments field on the sales order, or the job comments on the
quote, with the resulting Smart String value.

List Items (Inputs > Detail)

When defining a combo box input control in the Configurator Designer > Input Rules > Inputs > Detail sheet,
use the List Items field to enter the list of fixed options that can be selected from the combo box during a
configuration session; each option must be separated by a comma delimiter with no spaces between the options.
• For example, if you are defining a Color combo box, enter Red,Blue,Green.
• To create different sets of options that are dynamic (that is, they display when certain conditions are satisfied),
use the Dynamic Lists sheet to specify the condition expressions and processing criteria. Unlike standard combo
-boxes that offer a fixed set of choices, dynamic lists present choices based on conditions established in the
Expression Builder. Refer to Input Rules > Inputs > Detail > Dynamic Lists > Detail for more details.

212 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The List Items field is located on the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

List Items (Inputs - Detail - Dynamic Lists)

Enter the list of fixed options that display in the combo box during a configuration session when the conditions
of the expressions statement have been satisfied; each option must be separated by a comma delimiter with no
spaces between the options. For example, if you are defining a dynamic list with memory chip selections, enter
500MB DDR2, 1GB DDR2, 500MB DDR2.
If you are using a program that passes in inputs or values from an external list or file to populate the dynamic
list, this field can be left blank.

Where Located

The List Items field is located on the Configurator Designer > Input Rules > Inputs > Detail > Dynamic
Lists > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 213


Modifiers Configurator Technical Reference Guide

Minimum, Maximum (Date)

When defining a Data type input control in the Configurator Designer > Input Rules > Inputs > Detail sheet, use
the Minimum and Maximum to specify a range of valid dates that can be entered into the field when the part
is being configured in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry.
• For example, enter 12 -01-2008 into the Minimum field and 12-31-08 into the Maximum field if you allow
only allow entry of dates within the range from 12-01-2008 to 12-31-2008.
• These are optional fields; leave them blank if the dates entered during the actual configuration session do
not have to fall within a specified date range.

Where Located

The Minimum and Maximum fields are located on the Configurator Designer > Input Rules > Inputs >
Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Minimum, Maximum, Increment (Decimal)

When defining a Decimal data type input control in the Configurator Designer > Input Rules > Inputs > Detail
sheet, use the Minimum, Maximum and Increment fields to specify the acceptable starting and ending range
of valid numeric responses, and an increment value.
• For example, enter 5 into the Minimum field, 50 into the Maximum field, and 5 into the Increment field
if you allow entry of values from 5 to 50, at increments of 5 (into the numeric field being defined) during an
actual configuration session.
• These are optional fields; leave them blank if the numeric values entered during the actual configuration
session do not have to fall within a specified numeric value range.

214 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Minimum, Maximum and Increment fields are located on the Configurator Designer > Input Rules >
Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Multiplier

Select the operator used to calculate the pricing for the specified control, using the base pricing (specified in the
Price For Value field), and expression statements that you create in the field that follows. To create expression
statement syntax, click Edit to use the Expression Builder to build the statement.
Refer to the Expression Builder / Content Functions and Express Builder Functions sections for detailed
information. Select one of the following operators:
• Price plus - Adds the base price to the result of the expression statement.
• Price minus - Subtracts the base price from the result of the expression statement.
• Price multiplied by - Multiplies the base price by the result of the expression statement.
• Price divided by - Divides the base price by the result of the expression statement.
• <Unused> - No operator being used (default).

Where Located

The Multiplier field is located on the Configurator Designer > Input Rules > Pricing > General > Input
Pricing > Order / Quote / Purchase / Demand > Detail sheets.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 215


Modifiers Configurator Technical Reference Guide

Logic/Algorithms

When saving a configuration, the Epicor application takes all values that were entered in each input during the
actual configuration sessions, and processes inputs/values for which order/quote/purchase order/demand order
pricing parameters have been defined in the Configurator Designer > Order / Quote / Purchase / Demand > Detail
sheets. If a multiplier was specified for a specific order, quote, purchase order or demand order price, it takes
the resulting price calculated for the quote/order/purchase order/demand order input price and applies the
multiplier to this value.

Negatives

Specify how the Decimal field should use negative signs by doing one of the following:
• Select Allow Positive Numbers Only to prevent entry of negative numbers.
• Select Leading Sign on Negative Numbers Only to allow entry of negative numbers with a sign ( -) in front
of the number.
• Select Trailing Sign on Negative Numbers Only to allow entry of negative numbers with a sign ( -) that
trails the number.

Where Located

The Negatives field is located on Number Format Window that can be accessed by clicking Format when
specifying the format for Decimal data type inputs in the Format field in the Configurator Designer > Inputs
Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

Add a Decimal type input control to configuration input page using the Input Rules > Inputs > Detail sheet, and
then select the Allow Positive Numbers Only option in the Negatives field in the Number Format window
that can be accessed by clicking Format. Notice that the input control does not allow entry of a negative number
when you select Test Inputs from the Actions menu.

216 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Number of Decimals

Enter the number of decimal places, after the decimal point, that is allowed in the selected Decimal type field.
Note that integers are not an input type themselves, but are simply decimals with zero precision.
In this case, the number of decimals would be set to zero.

Where Located

The Number of Decimals field is located on Number Format Window that can be accessed by clicking Format
when specifying the format for Decimal data type inputs in the Format field in the Configurator Designer >
Inputs Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

The number of decimals specified in this field determines that the number of decimals that display in the selected
in the input control. It is also the number of decimal places allowed when entering a value into the associated
input.

Example

Add a Decimal type input control to configuration input page using the Input Rules > Inputs > Detail sheet, and
then enter a value into the Number of Decimals field in the Number Format window that can be accessed by

Epicor ERP | 9.05.702 217


Modifiers Configurator Technical Reference Guide

clicking Format. Notice that the input control does not allow entry of a value with a greater number of decimal
places.

Number of Digits

Specify the number of digits, before the decimal point, that are allowed in the selected Decimal type field.

Where Located

The Number of Digits field is located on Number Format Window that can be accessed by clicking Format
when specifying the format for Decimal data type inputs in the Format field in the Configurator Designer >
Inputs Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

This logic is the same as in the Number of Decimals field, but the Number of Digits field is used to specify
the number of number of digits to the left of the decimal point.

Example

Refer to the Number of Decimals example above.


Notice that the input control does not allow entry of a value with a greater number of digits to the left of the
decimal point.

Only process dynamic lists with higher tab sequences

Select this check box to only process dynamic lists for controls (combo boxes) that are later in the page, in terms
of tab order, than the current field a user is leaving.
• This provides for enhanced performance of the input page during configuration sessions involving highly
-complex, large-scale configurations.
• If this checkbox is left cleared, it processes the dynamic list logic for the entire page when leaving a control.

218 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Only process dynamic lists with higher tab sequences check box is located on the Configurator >
Page Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Order Entry

Select this check box to allow entry of a new part number or use of the Smart String when the item is configured
in Order Entry. It is automatically selected if the Save Input Values check box, which is also on this sheet, has
been selected.
Clear this check box to prevent entry of a new part number or use of the Smart String when the item is configured
in Order Entry.

Where Located

The Order Entry check box is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

If the Create a new part number for each new configuration check box has been selected in Part Creation
sheet, the Epicor application only creates a new part number when saving the configuration (during an actual
configuration session in Order Entry) if the Order Entry checkbox has also been selected. If the Order Entry
check box cleared, the Epicor application saves the configuration but does not create a new part record in the
Part table.

Epicor ERP | 9.05.702 219


Modifiers Configurator Technical Reference Guide

Order/Quote Comments

Select this check box if the order comments on sales orders, and quote comments on quotes should be updated
with the resulting Smart String generated during an actual configuration session.

Where Located

The Order/Quote Comments check box is located on the Configurator Designer > Part > Smart String
sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When saving a configuration during a configuration session in Order Entry or Opportunity/Quote Entry and the
Order/Quote Comments check box has been selected in the Configurator Designer > Part > Smart String sheet,
the Epicor application updates the Order Comments field on the sales order, or the quote comments on the
quote, with the resulting Smart String value.

Packing Slip Comments

Select this check box if the packing slip comments on sales orders should be updated with the resulting Smart
String generated during an actual configuration session.

Where Located

The Packing Slip Comments check box is located on the Product Configurator Designer - Part - Smart
String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer

220 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

For CRM users, the Main Menu appears as:


• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When saving a configuration during a configuration session in Order Entry or Opportunity/Quote Entry and the
Packing Slip Comments check box has been selected in the Configurator Designer > Part > Smart String sheet,
the Epicor application updates the Packing Slip Comments field on the sales order with the resulting Smart
String value.

Page

Indicates the page number that contains this input control. When you place a new input control on an input
page using the Design Toolbox, the Epicor application automatically updates this field.
• For example, if the input control was placed on Input Page 2, 2 appears in this field.
• If you wish to move an existing control to another input page, enter the page number into this field. For
example, if the input control was originally placed on Input Page 2, but you wish to move it to Input Page 3,
change the display page number from 2 to 3 in this field.
• The Epicor application then moves the input control to the designated page and displays the change in the
Tree view.

Where Located

The Page field is located on the Configurator Designer > Input Rules > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 221


Modifiers Configurator Technical Reference Guide

Page Sequence

Select the number of the input page to which the logic should apply. The page sequence is the same number
that is defined in the Page Number form that can be accessed when New / New Page is selected from the File
menu.
Once the page number is selected in this form, it cannot be updated on the Page Detail sheet. The page sequence
is similar to the tab order that is defined for inputs. When configuring a part in an actual configuration session,
this page sequence is the order in which the pages display to the user when clicking the Next Page or Previous
Page buttons.

Where Located

The Page Sequence field is located on the Configurator Designer > Input Rules > Page Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Page Title

Enter the free-form title for the Input Page being created for this configuration. This title displays in the Input
Page during an actual configuration Q&A session in Opportunity/Quote Entry, Order Entry, Purchase Order Entry,
Job Entry or Demand Entry.

Where Located

The Page Title field is located on the Configurator Designer > Input Rules > Page Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

222 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Logic/Algorithms

None

Part Description

Select this check box if the Smart String generated during an actual configuration session should be the actual
part description on orders, quote lines, job lines, purchase order lines or demand order lines (on the associated
orders, quotes jobs, purchase orders or demand orders). If this check box is selected, the Smart String also becomes
the new part description if new part records are being created during a configuration session.
Clear this check box if the Smart String should not be the actual part description that appears orders, quote lines,
job lines, purchase order lines or demand order lines.

Where Located

The Part Description check box is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Position and Sizing Fields (X, Y, Width and Height)

These fields allow you to establish parameters that control the precise placement and sizing of a control on a
configuration input page.
• The X and b fields can be used to specify the X and Y coordinates, allowing you to precisely place the control
vertically and horizontally on the input page; they can be used in lieu of using the pointer to drag/drop the
control in the Input Page sheet.
• The Width and Height fields allow you to specify, in pixels, the width and height of the control.
• Note that if the width and height for the Character, Decimal or Editor fields are set to zero, those controls
do not display on the input page being designed. This is very useful for storing data that can be used in rules
or pricing.

Epicor ERP | 9.05.702 223


Modifiers Configurator Technical Reference Guide

Where Located

The X, Y, Width and Height fields are located on the Configurator Designer > Input Rules > Inputs > Detail
sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Preface w/ Part Number

Select this check box if the Smart String should begin with the part number for the part being configured.

Where Located

The Preface w/Part Number field is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Price For Value

Enter the starting base price amount that should apply when the specified value is selected in the designated
input (or for all values if the All Values check box has been selected) during a configuration session.
• For example, enter 50.00 if the base price for the 500MB memory should be set at 50.00 when that option
is selected during a configuration session.
• If you select an operator in the Multiplier field, the Epicor application applies the selected operator and the
expression statement syntax you define (if any) to the base price to calculate pricing for the selected input
control.

224 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Price for Value field is located on the Configurator Designer > Pricing > General > Order / Quote /
Purchase / Demand > Detail sheets).

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Process dynamic lists before On Leave expressions for this page

During a normal configuration session, On Leave expressions are first evaluated before dynamic list conditions
for a combo box control. Selecting this check box designates that dynamic list conditions should be evaluated
and processed before On Leave expressions for all combo box controls on the input page.
Clear this check box designates if dynamic list conditions should be evaluated and processed before On Leave
expressions for all combo box controls on the input page.

Where Located

The Process dynamic lists before On Leave expressions for this page field is located on the Configurator
Designer > Input Rules > Page Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Process Input On Leave expressions if page is skipped

If the Skip page if all inputs are disabled or invisble check box has been selected, select this check box if
any On Leave expressions that have been defined for controls on the input page should still be processed even

Epicor ERP | 9.05.702 225


Modifiers Configurator Technical Reference Guide

if the input page itself is being skipped. Clear this check box if On Leave expressions that have been defined for
controls on the input page should not be processed if the input page itself is being skipped.

Where Located

The Process Input On Leave expressions if page is skipped field is located on the Configurator Designer
> Input Rules > Page Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Prompt For Checkout

Specifies if Part Revision Checkout should automatically display when a configuration is saved after completing
a Configuration session. This can be used when the Save Input Values or Create Revision check boxes have
been selected, and the Epicor application is creating a new part revision record when a configuration is saved
during a Configuration session.
• This check box, when selected, causes Part Revision Checkout to display when a configuration is saved after
completing a Configuration session. This allows for check out of the newly created configured part revision
to the Engineering Workbench.
• Clear the check box to skip display of Part Revision Checkout when a configuration is saved after completing
a Configuration session

Where Located

The Prompt For Checkout check box is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

226 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Prompt For Configuration

Specifies if generation of methods of manufacture in the Engineering Workbench (using the method rules that
have been assigned to this base configured part) should be allowed.
• Select this check box to allow generation of methods of manufacture in the Engineering Workbench using
the method rules that have been assigned to the based configured part.
For example, if you have created a Configurator for base part A (with 20 attached material parts, 15 operations
and a series of defined rules, including Method rules), then use the Get Details window in the Engineering
Workbench to get method of manufacture details (associated with the base configured part) when engineering
another assembly part, the following message is displayed:

• If you click Yes, the Engineering Workbench invokes a Configuration session for the specified base part.
This allows you to configure it; when the resulting configuration is saved, the Epicor application processes
the associated method rules, resulting in tailored materials and operations content. This configured materials
and operations detail is then retrieved for engineering of the assembly part.
For example, if the resulting configuration for Part A contains four parts and two operations (after Method
rules have been applied during the Configuration session), only those materials and operation details are
retrieved for use in engineering of the assembly part.
• If you click No, the Engineering Workbench does not invoke a Configuration session for the base part. In
this case, it simply retrieves all materials or operations that have been directly attached to the base configured
part in the Configurator Designer; this is not the tailored content that would have resulted had a
Configuration session been invoked ( because the associated Method rules have not been applied).
For example, for base part A, the Epicor application retrieves the 20 attached material parts and 15
operations originally attached to the base configured part for use in the engineering assembly part.

• Clear this check box to prevent generation of methods of manufacture in the Engineering Workbench using
the method rules that have been assigned to the based configured part. In this case, the functionality described
above is not available when you attempt to get details for the base configured part. It does not invoke a
Configurator session in this situation.

Where Located

The Prompt For Configuration check box is located on the Configurator Designer > Status sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer

Epicor ERP | 9.05.702 227


Modifiers Configurator Technical Reference Guide

For CRM users, the Main Menu appears as:


• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Quote Entry

Select this check box to allow entry of a new part number or use of the Smart String when the item is configured
in Quote Entry. It is automatically selected if the Save Input Values check box, which is also on this sheet, has
been selected.
Clear this check box to prevent entry of a new part number or use of the Smart String when the item is configured
in Quote Entry.

Where Located

The Quote Entry check box is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

If the Create a new part number for each new configuration check box has been selected in Part Creation
sheet, the Epicor application only creates a new part number when saving the configuration (during an actual
configuration session in Quote Entry) if the Quote Entry checkbox has also been selected. If the Quote Entry
check box cleared, the Epicor application saves the configuration but does not create a new part record in the
Part table.

Remove Link From Base Configured Part

If you select the Create a new part number for each configuration and the Save Input Values check boxes
for the base part, the Epicor application creates a new part number and generates a method of manufacture
when a configuration created for the base part is saved after completing a Configuration session (existing

228 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

functionality). It automatically links this newly created part number back to the base part number, allowing it to
be reconfigured at any time.
• When you select this check box, the Epicor application removes the link back to the base configured part.
When you do this, the newly created part is treated as a standard part and no longer considered a
reconfigurable part.
• Clear the check box to skip removal of the link back to the based configured part. In this case, the part is still
considered a reconfigurable part.

Where Located

The Remove Link From Base Configured Part check box is located on the Configurator Designer > Part >
Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Run BAQ / BAQ / Display Value / Input Value

These modifiers work together and allow you to specify if a BAQ should be run for the Dynamic List being defined
for a specified input control (combo box):
• Run BAQ - Select the check box to run a BAQ for the dynamic list being defined. If you select this check box,
you must enter values in the BAQ, Display Value and Input Value fields.
• BAQ - If the Run BAQ check box is selected, specify the identification number of the BAQ that is being
processed for this dynamic list. Enter the identification number or click BAQ to access the BAQ Search window
to select a BAQ identification number.
• Display Value - If the Run BAQ check box is selected, specify the value being displayed in the drop-down
list for the combo box input.
• Input Value - If the Run BAQ check box is selected, specify the actual working value that the product
configuration processes and saves in the PcInValue (Input Answers) record.

Where Located

The BAQ field, Display Value field, Input Value field and Run BAQ check boxes are located on the Configurator
Designer > Input Rules > Inputs > Detail > Dynamic Lists > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer

Epicor ERP | 9.05.702 229


Modifiers Configurator Technical Reference Guide

For CRM users, the Main Menu appears as:


• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Run Program / Program Name / Program Inputs

These modifiers work together and allow you to specify if an external program is being used in conjunction with
Dynamic List processing for a specified input control (combo box):
• Run Program - Select this check box if you wish to run a program (whose name is specified in the Program
Name field) that passes in inputs or values from an external list or files to populate the dynamic list. This
allows you to write an external .p program (using Notepad or another editor) that returns a comma separated
list (.csv file) and an initial value. The following parameters must be followed to properly develop a useful
external program:
• The external program must be a text file (with the extension .p), and the first line of the program should
contain the syntax {ud\dynlist.i}. The {ud\dynlist.i} syntax is a reference to an "Include" file containing the
output parameter definitions for the comma separated list and the initial value. You can open this file with
Notepad (it is located in the server\ud folder)
• A comma delimited list (.csv file) is a list of strings which are separated by commas. Each string is an item
that can be selected in the combo box. The items in the comma separated list are both the display field,
and the value the field that is stored in that database when the user has selected the item. When creating
the accompanying comma separated list, make sure there are no space around the commas. Each character
between the commas is part of the string that is used in expressions and Keep When rules. Spaces are
also very difficult to locate.
• Input parameters can be added to .p program by adding the values in comma separated list into the
Program Inputs field. These values can be strings (surrounded by double quotes), numeric values, decimal
values, logical values or date values. The values can either be hard -coded or can be input fields used in
the configuration. You have to to add corresponding code In the .p file to process the input parameters.
For instance, if you want to pass the Color field to the .p file, then you have to place the following line of
code to the file: Define input parameter ipColor As Character no-undo. The name ipColor can be
replaced by any other name. Character (for string), Decimal, Integer, Date and Logical are valid parameter
types.
• Example:
/* GetUDTable01.p : get Ud01 records*/
{ud\dynlist.i}
Define Input Parameter ipModel As Character No-Undo.
Define Input Parameter ipType As Character No-Undo.
Define Input Parameter ipSize As Character No-Undo.
For Each UD01 where UD01.Company = Cur-Comp
And UD01.Key1 = ipmodel
And UD01.Key2 = ipType
And UD01.Key3 = ipSize no-lock:
ASSIGN oplistitems = oplistitems + UD01.ShortChar01 + ",".

230 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

End.

• Program Name - Enter the name of the program (if any) used to generate the dynamic list. An example of
a program that could be called is the standard ud\test\GetTableData.p program.
• Examples of .p files supplied by Epicor are cv8400belttype.p, FilelookLabels.p, filelookup.p, Filerowselect.p
and GetTableData.p. For a complete listing of Epicor -Supplied utility programs, refer to Appendix:
Epicor-Supplied Programs, and see Configurator Designer > Utility Programs in the Online Help.
All Dynamic list programs and all referenced files must exist on the AppServer for the lists to be valid.
Tip If the directory structure in which the file is located contains spaces, you must put quotes around
the directory and program name (for example, "c:\Program Files\Test.p") in expressions that
reference the program.

• Program Inputs field, enter the inputs expected by the program specified the Program Name field.

Where Located

The Program Name field, Program Inputs field and Run Program check boxes are located on the Product
Configurator Designer - Input Rules - Inputs - Detail - Dynamic Lists - Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

During an actual configuration session, if multiple dynamic lists are defined for the same combo box, the Epicor
application processes the dynamic lists in the order that they are defined.
• If it processes a condition that is satisfied (returned true), it populates the combo box with that dynamic list,
and none of the remaining dynamic lists are processed.
• If none of the dynamic list conditions are satisfied, it uses the list items and initial value that were defined for
the combo box itself in the Input Rules > Inputs > Detail sheet.

Example

If you have specified that the standard ud\test\GetTableData.p program is being called fro the dynamic list, the
following inputs need to be passed to this program:
• Table Name, Key Field, Description Field, Input Name 1, Input Name 2, Where String.
If you use a description field (third parameter), it produces <Key Field>;<Description> in the results that are
populated in the combo box. Otherwise, it only includes <Key Field> in the results. If you use an input name (1

Epicor ERP | 9.05.702 231


Modifiers Configurator Technical Reference Guide

or 2), this inserted into the query string wherever <var1> and <var2> is found and are located in the string
(corresponding to the Input Name 1 or 2).
As an example, your input page contains a combo box called SELTYPECODE where the user selects either
"Manufactured" or "Purchased", and another combo box called SELECTEDPART that is populated from a dynamic
list, depending on the value that is selected from the SELTYPECODE input. The following information would be
entered into the Program Inputs field, and would be passed into the GetTableDate.p program as inputs:
"Part","PartNum","PartDescription",SELTYPECODE,"","Part.TypeCode = <var1>"\
When the dynamic list is processed during the actual configuration session, only parts that have the same
Part.TypeCode as the value that is selected in the SELTYPECODE input would display in the SELECTEDPART combo
box.

Save Input Values

Select this check box if the input value settings entered in a configuration session should be saved in the record
for the new configured part and revision number, and should not be linked to a specific quote, order, or job. It
can then be used "as-is" on any quote, order, job, purchase order or demand order without the need for
reconfiguration.
This check box is useful because it allows you to define a collection of pre-configured parts (with saved input
values that "travel" with the part) that can be reused at a later time. This ensures that when Get Details sheet
is used in Job Entry, the Epicor application uses the correct engineering structure at the time it creates an associated
job order.
• In fact, if the part is reused at a later time, and an attempt is made to reconfigure the part, the following
warning message is displayed, preventing this from occurring:
"Part number xx already exists for yy configuration. Input values will not be saved to avoid overwriting the
existing part information."
Note Pricing Rules and Document Rules are still re-processed even though the values were not saved.

• If the design of the base configured part is changed in the Product Configurator Designer, it allows you to
reconfigure the part so that it can process any changes that may have been made in the Designer. When
saving the configuration, the Epicor application displays the following message asking if you want to overwrite
the existing configuration:

• If you click Yes, any input values that may have changed during the current configuration process are saved
in the database.
Tip The Epicor application stores the saved input values by the part number that it generates when you
save the original configuration using the Part Creation logic. Clicking Yes affects the configuration of all
existing quotes, orders, jobs, purchase orders or demand orders that contain this generated part number.

232 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

The part number on all of these transactions all share the same saved input values; if you change it in one
place, it changes the configuration everywhere the part is used.

• If you select this check box, the Epicor application automatically selects the Quote Entry, Order Entry, Job
Entry and Demand Entry check boxes in the Create new parts in section of the Part Creation sheet,
and also selects the Automatically Create a new part number check box.

Where Located

The Save Input Values check box is located on the Product Configurator Designer - Part - Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Separator Character

Specify the delimiter character that should separate the individual element sections of the Smart String.
Select one of the following:
• Dash (-) - Delimits the individual elements with a dash.
• Space ( ) - Delimits the individual element sections with a space.
• Slash (/) - Delimits the individual elements of the Smart String with a slash.
• Underscore (__) - Delimits the individual elements with an underscore.
• No Separator - No delimiters separate the individual elements.

Where Located

The Separator Character field is located on the Product Configurator Designer - Part - Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 233


Modifiers Configurator Technical Reference Guide

Example

The Epicor application creates the following Smart Strings for part CV-8400, based on the corresponding settings
in the Separator Characters field in the Smart String sheet:
• Dash - CV-8400-99999999999
• Space - CV-8400 99999999999
• Slash - CV-8400/99999999999
• Underscore - CV-8400_99999999999
• No Separator - CV-840099999999999

Set Part Number Only

Select this check box to generate a part number, but skip creation of a Part record itself. Clear the check box to
generate a part number and create an actual record in the Part table.
The generated part number is assigned to the quote line, order line, job, purchase order or demand order according
to where the base configured part is being configured.

Where Located

The Set Part Number Only check box is located on the Configurator Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When you select the Set Part Number Only check box, the Epicor application processes all parameters specified
in the Configurator Designer > Part > Creation sheet, displays the newly generated part number for a configured
part on the order, quote, job, purchase order or demand order but doesn't create a new part record itself in the
Part table.

Show Distinct Items

Specify if the Epicor application should only display distinct input option values in the combo box control during
an actual configuration session. In this case, it eliminates any duplicate values and only displays those input

234 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

options with unique values. Duplicate input values sometimes occur when the associated list of options has been
created through a dynamic list, whether calculated from a static list or based on running a program or a BAQ.
Select the check box to only display distinct values in the combo box control during an actual configuration
session. Clear the check box to show all input option values (unique, as well as duplicate values) in the combo
box control during an actual configuration session.

Logic/Algorithms

Combo boxes contain a field property called FieldShowDistinct; it can be used in the On Leave code created
for an configurator input or configurator page to dynamically set the Show Distinct Values check box setting.
It is important to note that the FieldShowDistinct field property overrides the default setting in the Configurator
Designer. If you decide to use this, note the following:

1. Using the FieldShowDistinct property together with a BAQ or Run Program dynamic list may cause a
performance impact if FieldShowDistinct is constantly changing the default value. This is because each time
the Show Distinct Values check box value is changed through use of the field property, the Epicor
application recalculates the list of items in the combo box.

2. It is important to remember that when Show Distinct Values check box is selected (True), it only displays
options where the input value and display value are unique. For example, in the following scenario:

Value Description
A Letter A
B Letter B
C Letter C
A Letter A

In this case, it only displays the following values during a configuration session:

Value Description
A Letter A
B Letter B
C Letter C

However, in the following scenario, where some of the option descriptions have no space, the combo box
will display ALL items in a configuration session, because the combination of the value and description are
unique in each case. This applies mostly to BAQ Dynamic lists, in the case when the combo box is populated
from a list of items (for example, Item 1,Item 2,Item 3), the value and description are always the same.

Value Description
A Letter A
B Letter B
C Letter C
A LetterA
B LetterB
C LetterC

Epicor ERP | 9.05.702 235


Modifiers Configurator Technical Reference Guide

Where Located

The Show Distinct Items check box is located in the Configurator Designer > Input Rules > Inputs > Detail
sheet when you place a combo box control on a configurator page.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Single Level Configuration

If a multi-level Method of Manufacture has been defined for the part revision for which the configuration process
is being defined, this check box governs the bill of material and operations levels of the indenture for which
method rules can be defined. If the check box is selected, you can define method rules at the top-level of indenture
only.
This prevents you from defining method rules for subassemblies. If it is cleared, you can define method rules for
all levels of indenture within the Method of Manufacture, including subassemblies.

Where Located

The Single Level Configuration check box is located on the Configurator Designer > Status sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

236 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Logic/Algorithms

The Single Level Configuration check box has a profound impact on how you design the configuration for a
selected part revision. You can configure a part as single-level to be backward-compatible with existing
configurations.
Use of this check box is invaluable if you are running an earlier version of the Epicor application that did not
support multi-level BOMs, and wish to have newly created parts compatible with that version.
Note that if method rules already exist at lower-levels for an indented Method of Manufacture for a part revision,
and you attempt to clear the check box, a warning message appears that states that the lower-level method rules
will be deleted, and asks if you wish to continue. If you click Yes, the Epicor application then deletes all
lower-level method rules for the part revision.

Example

Create a multi level BOM for the parent configured part. Clear the Single Level Configuration checkbox in the
Product Configurator Designer > Status sheet.
Notice how the tree structure in the Product Configurator Designer > Method Rules > Rules > Detail sheet expands
to display lower level material and operation when the Single Level Configuration checkbox is cleared. If it is
selected, it the tree structure only displays the top-level of the configured part (doesn't branch down into
subassemblies).

Skip page if all inputs are disabled or invisible

Select this check box to process any Prompt When expressions associated with the input page, but skip display
of the input page itself during a configuration session if all inputs are disabled or are invisible (either if designated
as such in the Invisible check box in the Input Rules > Inputs > Detail sheet, or when inputs are dynamically
displayed or disabled based on specified rules).

Where Located

The Skip page if all inputs are disabled or invisble check box is located on the Configurator Designer >
Input Rules > Page Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 237


Modifiers Configurator Technical Reference Guide

Smart String Configuration

In a traditional configuration session, after you click the Configure button in Opportunity/Quote Entry, Order
Entry, Purchase Order Entry, Job Entry, Purchase Order Entry or Demand Entry, the Epicor application directly
accesses, and sequentially displays each of the configuration input pages you have created for the current
configurator in the Configurator Designer. This check box can be used to (optionally) specify if, during an actual
configuration session, all input values for the configuration can instead be loaded through manual entry of a
'smart string' that contains concatenated values, each representing a certain aspect of the configured item.
• When this functionality is enabled, the Epicor application displays a dialog box during the actual configuration
session, prompting you to enter a smart string value. It then attempts to process and load all associated
configuration input values from the supplied string.
• To properly process the smart string values, the Epicor application must understand what the starting and
ending positions are for each of configuration values contained within a typical smart string. For example,
the first string position (Color) might be start in position 1, end in position 2 and represent the color of the
item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the item. To define
these positional values, you use the Configurator Designer > Smart String sheet to designate the input name,
start position and end position for each of the configuration input values.
Clear the check box to operate the Configurator in the traditional manner and skip use of a smart string
configuration (default setting).
Note While similarly named, the Smart String Configuration check box functionality is not related to
the Smart String part functionality defined in the Configurator Designer > Input Rules > Part > Smart String
sheet.

Where Located

The Smart String Configuration check box is located on the Configurator Designer > Status sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

238 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Starting Sequence

If the Part Number + Sequence Number option was selected in Available Styles, specify the starting sequence
number for the Smart String (for example, 1000). As each Smart String is generated, this sequence number
automatically increments by one.

Where Located

The Starting Sequence field is located on the Configurator Designer > Part > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Start Position

Defines the starting position for the value of this input control in a smart string.
• For example, the first string position (Color) might be start in position 1, end in position 2 and represent the
color of the item, while positions 3 and 4 (Metal Type) might represent the type of metal used for the item.
• In this case, when defining the Color string position, you would specify that it starts in position 1; if defining
the next string position (Metal Type), you would specify that it starts in position 3.

Where Located

The Start Position field is located on the Configurator Designer > Smart String sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 239


Modifiers Configurator Technical Reference Guide

Synchronize

Select the check box to enable synchronization functions for this product configurator. The receiving external
companies must have an installed Product Configurator license; however those companies cannot modify the
configurator.
The Product Configurator Designator only displays information in the Part/Rev and Status sheets in external
companies. The Epicor application does not synchronize the Change Log information in external companies.
Note that if this check box is first selected, and then cleared at a later date, the product configurator is automatically
marked as Unapproved in the external companies.

Where Located

The Synchronize Part Revision Approval check box is located on the Configurator Designer > Status sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Synchronize Revision Approval

Specifies if approval of the associated part revision and inspection plan (if any) should be automatically synchronized
to the approval of the configured part in the Configurator Designer.
Selecting the check box causes the following to occur:
• If you select this check box, and approve or unapprove the configured part in the Configurator Designer (using
the Approved check box in the Status sheet), the Epicor application automatically approves or unapproves
the associated part revision in the Part Maintenance > Revisions sheet. If you select this check box, the warning
message Revision checked out by ECO Group xxx. Do you wish to approve the configuration? appears
when the configuration status changes and the revision is checked out to an ECO group.
• If you click Yes, you can continue with the part revision status synchronization.
• If you click No, the part revision status is not automatically updated.

• If you select this check box, the Epicor application automatically synchronizes the approval of the associated
inspection plan (if any) to the approval of the configured part in the Configurator Designer (using the Approved
check box in the Status sheet). The Epicor application either selects or clears the Approve check box in
Inspection Plan Maintenance, based on the setting of the Approved check box in the Status sheet.

240 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Clear the check box if approval of the part revision and associated inspection plan should not be automatically
synchronized to the approval of the configured part in the Configurator Designer. This skips automatic
synchronization of the Approved check box when the part revision or inspection plan is approved.
Note If the Synchronize Revision Approval check box is first selected, and then cleared at a later date,
and settings exist that are specific to the enterprise configurator, these settings are removed by the Epicor
application. A warning message appears prior to deletion of any enterprise configurator-specific settings

Where Located

The Synchronize Part Revision Approval check box is located on the Configurator Designer > Status sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Tab Order

Enter the tab order number that determines the order in which the cursor moves through the input fields when
the Tab key is used. By default, the tab order number default is the order in which the fields are entered on the
input page.
The higher the number entered into the field indicates that depth into which the field appears in the Tab order.

Where Located

The Tab Order field is located on the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 241


Modifiers Configurator Technical Reference Guide

Thousands Separator

Select this check box if values with thousands (for example, 12000 or 100000) entered into this number field
should be separated with commas (for example 12,000 and 100,000).

Where Located

The Thousands Separator check box is located on Number Format Window that can be accessed by clicking
Format when specifying the format for Decimal data type inputs in the Format field in the Configurator Designer
> Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Type (Global Input Variables)

Select the data type (Character, Date, Logical or Decimal) for the global input variable. Refer to Inputs > Detail
for more details on each data type.
The Global Variable Name combo box in the Inputs Detail sheet only displays selections that have the same
data type as the current input. For example, if the current input control is a Logical input, only logical global input
variables selections are displayed.

Where Located

The Type field is located on the Global Input Variables selection that can be accessed from the Actions menu
in the Configurator Designer.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

242 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Type (Part)

This indicates if you normally purchase or manufacture this part, or sell it as a sales kit. It is also used as selection
criteria on various reports and searches.
It does not, however, limit how you can use this part record:
• Manufactured - This value indicates that the part is produced by your company. The MRP engine creates
job suggestions against the part record.
• Sales Kit - A sales kit part is not calculated by the MRP engine. The component parts that make up a sales
kit, however, will generate both job and purchase suggestions. When all the component part quantities are
manufactured, the sales kit is ready to be assembled. This process, however, is handled outside of the Product
Configurator.
• Purchased - This option must not be used when defining a configured part.

Where Located

The Type field is located in the Part Maintenance program.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

For use in the Configurator, Manufactured must be selected to identify an item as a configured part.

Update Saved Input Values and Set Fields in Part Table

Select this check box to update the Saved Input Values and Set Fields for the part record. This especially useful
in situations in which you have made changes to the base model configuration and wish to mass-update all of
the configurations that have been created for the base part and have already been assigned to orders, quotes,
job orders, purchase orders or demand orders.
Clear this check box to skip update of the Saved Input Values and Set Fields for the part record.

Epicor ERP | 9.05.702 243


Modifiers Configurator Technical Reference Guide

Where Located

The Update Saved Input Values and Set Fields in Part Table check box is located in the Verify Existing
Configurations program.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Example

A configured part number contains the following configuration parameters:


• Part Creation sheet - The Create a new part number for each configuration and the Save Input Values
check boxes have been selected.
• Smart String sheet - The Use Smart String as the new part number option has been selected in the
Available Methods field. The Smart String Constructed from Inputs option has been selected in the
Available Styles combo box. The Preface w/ Part Number check box has been selected. A Length input
has been selected in the Selected Inputs field for use in the Available Inputs field.
In the Rules tab, the Alt node was highlighted and a new Set Field rule was created that updates the
Part.PartDescription field with the constant value of ABC. Once the configuration was approved, a new job was
created in Job Entry for the configured part, and a Method of Manufacturing was created in the Get Details
sheet. The part was then configured, and a value of 13.00 was entered for the configured part. When the
configuration was saved, this resulted in the creation of a new part in the Part table with a description of ABC.
If the Set Field rule is then changed so that it updates the Part.PartDescription field with the constant value ABCD
instead of ABC, you run the Verify Existing Configuration process and select the Update Saved Input Values
and Set Fields on Part Table check boxes, it changes the description for the newly created part to a value of
ABCD (this occurred because the process applied the new Set Field rule conditions to the existing configuration).

Use Component Pricing

Specifies if global component pricing should be used for the entire configuration. If selected, the Epicor application
calculates the component price using the resulting bill of material, based on the price lists of each remaining
components after all applicable method rules have been applied.
The resulting component price is the total component price plus any additional input pricing that may have been
defined. Clear this check box to skip use of component pricing. In this scenario, the Epicor application uses the
pricing parameters defined in the Input Rules > Pricing > General > Input Pricing > Order > Detail and Input Rules
> Pricing > General > Input Pricing > Quote > Detail sheets to calculate pricing during a configuration session.

244 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Use Component Pricing check box is located on the Product Configurator Designer > Input Rules >
Pricing > General > Input Pricing > Order / Quote / Purchase / Demand > Detail sheets).

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

The Use Component Pricing check box in this sheet allows you to specify if you would like to use existing
component pricing as the product is being configured in Quote Entry or Order Entry.
Often times, components that are part of the method of manufacture for a product are already linked to existing
price lists in the Epicor application, and can also be sold separately on sales orders. If you select this check box,
it designates that the standard component price lists that have already been defined in the Price List Maintenance
program should be used for pricing as the product is being configured.

Order Pricing
The Epicor application processes component pricing for the configuration in the following manner:
• As a user progresses through the configuration process, it applies the appropriate structure and inputs rules
(including document rules) to create a virtual BOM it uses to determine the list of materials for the configuration.
If the quotation already has a BOM, it uses that BOM for determining component pricing.
• Price lists depend on quantity breaks to determine the price for a part or a product group item. For each
component, Epicor application finds the appropriate unit price in the price list that is linked to the customer,
customer group or the part master, based on the order quantity, and the quantity per parent settings defined
in the method of manufacture. It calculates any applicable quantity breaks to determine the actual unit
component prices to use.
• It then adds any additional pricing options defined in the Input Pricing > Order > Detail or Input Pricing >
Quote > Detail sheets for the configuration to calculate the unit pricing of the configuration. This similar to
how the Epicor application determines component pricing for a sales kit item.
• It multiplies the component prices by the order quantity of the components. It then adds the extended order
prices of each component to calculate a total configurator price. This configurator price is then used in standard
pricing options to calculate the order line price.
Quotation Pricing
For quotations, the Epicor application calculates pricing in a similar manner, based on the entries in both the
Order Quantity and Expected Quantity fields.
• The Order Quantity field indicates what the order quantity should be if the quotation is converted to a sales
order at some point.
• The Expected Quantity field is used for estimation purposes; pricing is based on quantity break lines.

Epicor ERP | 9.05.702 245


Modifiers Configurator Technical Reference Guide

Quotations are not based on a method of manufacture but instead are based on production details. The Epicor
application uses these production details to calculate the unit price of each component and the total price for
each price break.

Purchase Order Pricing


The Use Component Pricing check box also applies the appropriate supplier pricing defined in the Supplier
Price List Maintenance program to direct (drop shipment) purchase orders generated for multi-company
configurations. It processes purchase order pricing in a manner similar to how the order pricing operates, but
applies the appropriate purchase order pricing based on the quantity breaks specified for the supplier and part
number in the Supplier Price List Maintenance program.

Use Generated Method When Getting Details

When the Save Input Values check box has been selected for the configuration being defined, the Epicor
application creates a part and method but it still handles the new part as a configured part, allowing a user to
reconfigure it (if the base configured part has changed in the Configurator Designer). When using Get Details in
Quote Entry or Job Entry, the Epicor application gets material and labor detail information from the method of
manufacture defined for the base configured part, rather than from the method of manufacture defined for the
base part.
If you select the Use Generated Method When Getting Details checkbox, it overrides this behavior; when
using Get Details in Quote Entry or Job Entry, the Epicor application gets material and labor detail information
from the generated method of manufacture for the configured part being used, rather than from the method
of manufacture defined for the base part. If you clear this check box, it operates in the normal manner, as
described earlier in the previous paragraph.

Where Located

The Use Generated Method When Getting Details check box is located on the Product Configurator
Designer > Part > Creation sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Valid List

When defining a Character data type input control, enter a comma-separated list of valid (allowable) responses
if the user must enter one of a few predetermined values.
For example, enter A,B,C,D if only those values are allowable, valid entries in the field.

246 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Where Located

The Valid List field is located on the Product Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Value

Enter the input value that is subject to the pricing logic being defined. For example, if you were entering pricing
logic for a Memory selection combo box, you would enter 500MB if that is the option selection that is subject
to the pricing logic.
To apply the same base pricing to all values for a specific input, leave this field blank and select the All Values
check box.

Where Located

The Value field is located on the Input Rules > Pricing > General > Input Pricing > Order / Quote / Purchase
/ Demand > Detail sheets.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 247


Modifiers Configurator Technical Reference Guide

Verify Existing Job Configurations

Select this check box if the Verify Existing Configurations program should be run on job records that contain
configured parts.
Clear this check box to skip running of the Verify Existing Configurations program on job records that contain
configured parts

Where Located

The Verify Existing Job Configurations check box is located in the Verify Existing Configurations program.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When the Epicor application verifies existing jobs, it makes no changes to the actual job records themselves. It
simply "reconfigures" the part (as described in the Verify Existing Configurations section) and compares the
existing values on the existing jobs against what the values should be after the Set Field rules have been applied.
It also verifies the Method of Manufacture on the job. It compares the reconfigured resulting Method of
Manufacture against the existing Method of Manufacture on a job, making sure all Set Field and Keep When
rules are correct. If it finds any error, it changes no information on the job; it simply creates messages in the log
stating what varies between the two methods of manufacture.

Example

A configured part number contains the following configuration parameters:


• Part Creation sheet - The Create a new part number for each configuration and the Save Input Values
check boxes have been selected.
• Smart String sheet - The Use Smart String as the new part number option has been selected in the
Available Methods field. The Smart String Constructed from Inputs option has been selected in the
Available Styles combo box. The Preface w/ Part Number check box has been selected. A Length input
has been selected in the Selected Inputs field for use in the Available Inputs field.
• In the Rules tab, the Alt node was highlighted and a new Set Field rule was created that updates the
JobHead.PartDescription field with the constant value of ABC.
Once the configuration was approved, a new job was created in Job Entry for the configured part, and a Method
of Manufacturing was created in the Get Details sheet. The part was then configured in Job Entry, and a value
of 11.00 was entered into the Length field for the configured part. When the configuration was saved, this
resulted in creation of a new part in the Part table with a description of ABC.

248 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

If the Set Field rule is then changed so that it updates the JobHead.PartDescription field with the constant value
ABCD instead of ABC, you run the Verify Existing Configuration process and select the Verify Existing Jobs
check box, it displays a message in the Verify Log stating that the job created (above) contains an incorrect value
in the PartDescription field after processing the Set Field rules.

Verify Existing Order Configurations

Select this check box if the Verify Existing Configurations program should be run on order records that contain
configured parts. Clear this check box to skip running of the Verify Existing Configurations program on order
records that contain configured parts.

Where Located

The Verify Existing Order Configurations check box is located in the Verify Existing Configurations program.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When the Epicor application verifies existing orders, it makes no changes to the actual order records themselves.
It simply "reconfigures" the part (as described in the Verify Existing Configurations section) and compares
the order price on the existing orders against what the values should be after the order input pricing has been
processed.
It calculates the order input pricing and compares the result with the unit price defined on the existing order and
displays a message in the log if they differ.

Example

A configured part number contains the following configuration parameters:


• Input Rules > Part > Creation sheet - The Create a new part number for each configuration and the
Save Input Values check boxes have been selected.
• Input Rules > Part > Smart String sheet - The Use Smart String as the new part number option has
been selected in the Available Methods field. The Smart String Constructed from Inputs option has been
selected in the Available Styles combo box. The Preface w/ Part Number check box has been selected. A
Length input has been selected in the Selected Inputs field for use in the Available Inputs field.
• Input Rules > Pricing > General > Input Pricing > Order > Detail sheet - Pricing parameters have been
established for the Length input. The All Values check box has been selected, and 10.00 has been entered
into the Price For Value field.

Epicor ERP | 9.05.702 249


Modifiers Configurator Technical Reference Guide

The part was then configured in Order Entry, and a value of 12.00 was entered in the Length field for the
configured part. When the configuration was saved, a unit price of 10.00 returned from the configuration session.
After saving the configuration, the Price for Value field in the Input Rules > Pricing > General > Input Pricing >
Order > Detail sheet was changed from 10.00 to 11.00. If you run the Verify Existing Configuration process and
select the Verify Existing Orders check box, it displays a message in the Verify Log stating that the order
configuration unit price differs from the unit price on the existing order.

Verify Existing Quote Configurations

Select this check box if the Verify Existing Configurations program should be run on job records that contain
configured parts. Clear this check box to skip running of the Verify Existing Configurations program on job records
that contain configured parts.

Where Located

The Verify Existing Quote Configurations check box is located in the Verify Existing Configurations
program.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Logic/Algorithms

When the Epicor application verifies existing jobs, it makes no changes to the actual job records themselves. It
simply "reconfigures" the part (as described in the Verify Existing Configurations section) and compares the
existing values on the existing quotes against what the values should be after the Set Field rules have been applied.
It also verifies the Method of Manufacture on the quote. It compares the reconfigured resulting Method of
Manufacture against the existing Method of Manufacture on a quote, making sure all Set Field and Keep When
rules are correct. If it finds any error, it changes no information on the quote; it simply creates messages in the
log stating what varies between the two methods of manufacture.

Example

A configured part number contains the following configuration parameters:


• Part Creation sheet - The Create a new part number for each configuration and the Save Input Values
check boxes have been selected.
• Smart String sheet - The Use Smart String as the new part number option has been selected in the
Available Methods field. The Smart String Constructed from Inputs option has been selected in the

250 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Modifiers

Available Styles combo box. The Preface w/ Part Number check box has been selected. A Length input
has been selected in the Selected Inputs field for use in the Available Inputs field.
• In the Rules tab, the Alt node was highlighted and a new Set Field rule was created that updates the
QuoteDtl.LineDesc field with the constant value of ABC.
The part was then configured in Quote Entry clicking the Configure button on the Line > Detail sheet in Quote
Entry, and a value of 10.00 was entered in the Length field for the configured part. When the configuration was
saved, this resulted in the update of the Description field (in the Get Details sheet in Job Entry) with a value of
ABC.
If the Set Field rule is then changed so that it updates the QuoteDtl.LineDesc field with the constant value ABCD
instead of ABC, you run the Verify Existing Configuration process and select the Verify Existing Quotes check
box, it displays a message in the Verify Log stating that the quote created (above) contains an incorrect value in
the LineDesc field (after the Set Field rules have been processed).

Web Input Name

Enter the internal name of this field as used by the Web Configurator. It can be the same entered into the Input
Name field.
If you accessed the Input Rules > Inputs > Detail sheet after placing the control in the Input Page sheet, this is a
display-only field (when you place the control on the input page, you can access the Input Detail sheet and change
the input name field. However, once the record has been saved, you are no longer able to change it).

Where Located

The Web Input Name field is located in the Configurator Designer > Input Rules > Inputs > Detail sheet.

Menu Path
Navigate to this program from the Main Menu:
• Sales Management > Configurator Management > General Operations > Configurator Designer
For CRM users, the Main Menu appears as:
• Customer Relationship Management > Configurator Management > General Operations > Configurator
Designer
Important This program is not available
®
in the Epicor Web Access™ interface. You can launch this program
from an Epicor Smart Client (Windows ) interface.

Epicor ERP | 9.05.702 251


Expression Builder Functions Configurator Technical Reference Guide

Expression Builder Functions

This section details expression functions that are used when defining a product configuration On Leave, Prompt
When, Dynamic List or Rule expressions for a part. It contains descriptive information, where the context
function can be added, proper syntax, resulting data type, logic/algorithms and examples for each expression
function.
Refer to the Expression Builder / Content Functions section of this document for details on how expressions
are entered into the Configurator.

Absolute Value

Using Absolute Value performs the Absolute function on a numeric data type value expression. It returns the
absolute value of a numeric value.

Where Located

The Absolute Value expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Absolute Value expression function auto-populates the following string into the expression string:
Absolute({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Absolute(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Absolute
Value expression function:
FILLIN2 = (Absolute(FILLIN1))
If the value -5.00 is entered in the FILLIN1 input, the expression above would be processed when leaving the
FILLIN1 input, and the resulting value of 5.00 would be populated in the FILLIN2 input.
Another example of the Absolute Value expression function can also be found in the Expression Functions /
Content Functions topic in the Primary Components and Calculations section of this document.

252 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Add

Using the Add expression function adds a Numeric type value to another numeric type value, and returns a
Numeric type result.

Where Located

The Add expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Add expression function auto-populates the following string into the expression string:
{number} + {number}

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (FILLIN1 + FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Add expression
function:
FILLIN3 = (FILLIN1 + FILLIN2)
If the value 25 is entered in the FILLIN1 input, and the value 30 is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting value of 55 would be populated in
the FILLIN3 input.

Add Days to Date Value

Using the Add Days to Date Value expression function performs the Date function to add the number of days
to a date, producing a date String value result.

Where Located

The Add Days to Date Value expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Add Days to Date Value expression function auto-populates the following string into the expression string:

Epicor ERP | 9.05.702 253


Expression Builder Functions Configurator Technical Reference Guide

{date} + {number of days}

Resulting Data Type

Date

Logic/Algorithms

FILLIN2 = (FILLIN1 + 5)

Example

Date inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Add Days
to Date Value expression function:
FILLIN2 = (FILLIN1 + 5)
If the value 12/01/2008 is entered in the FILLIN1 input, the expression above would be processed when leaving
the FILLIN1 input, and the resulting value of 12/06/2008 would be populated in the FILLIN2 input.

Begins

Using the Begins expression function performs the Begins function using the specified string type values and
returns a logical result. It tests a character expression to determine if that expression begins with a second character
expression.

Where Located

The Begins expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Begins expression function auto-populates the following string into the expression string:
{string} Begins {string}

Resulting Data Type

Logical

Logic/Algorithms

(FILLIN1 Begins "AA")

254 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Character inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following Prompt When expression is added to the FILLIN2 input using the Begins expression function:
(FILLIN1 Begins "AA")
If the value AA123 is entered in the FILLIN1 input, the expression above would be processed when leaving the
FILLIN1 input, the resulting value of the expression would be true, and FILLIN2 would be enabled, allowing the
entry of a value. If the value AB123 is entered in the FILLIN1 input, the resulting value of the expression would
be false and FILLIN2 would be disabled.

Combine Strings

Using the Combine Strings expression function performs the String function to add a Numeric type value to
another Numeric type value, and return a String type result. The String function converts an expression of any
data type (Date, Logical, Number) to a character value.

Where Located

The Combine Strings expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Combine Strings expression function auto-populates the following string into the expression string:
{string} + {string}

Resulting Data Type

String

Logic/Algorithms

FILLIN3 = (FILLIN1 + FILLIN2)

Example

Character inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to the FILLIN2 input using the Combine Strings expression function:
FILLIN3 = (FILLIN1 + FILLIN2)
If the value ABC is entered in the FILLIN1 input and the value DEF is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting value of ABCDEF would be populated
in the FILLIN3 input.

Epicor ERP | 9.05.702 255


Expression Builder Functions Configurator Technical Reference Guide

Convert Date to String

Using Convert Date to String performs the Strings function on the Date type value. Refer to Combine Strings
for detailed information about the String function.

Where Located

The Convert Date to String expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Convert Date to String expression function auto-populates the following string into the expression string:
String({date})

Resulting Data Type

String

Logic/Algorithms

FILLIN2 = (String(FILLIN1))

Example

Date input FILLIN1 and Character input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to the FILLIN1 input using the Convert Date to String expression
function:
FILLIN2 = (String(FILLIN1))
If the value 12/01/2008 is entered in the FILLIN1 input, the expression above would be processed when leaving
the FILLIN1 input, allowing you to assign the date value to a string data type field. The resulting string value of
12/01/2008 would be populated in the FILLIN2 input.

Convert Logical to String

Using Convert Logical to String performs the Strings function on the logical type value. Refer to Combine
Strings for detailed information about the String function.

Where Located

The Convert Logical to String expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Convert Logical to String expression function auto-populates the following string into the expression string:

256 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

String({logical})

Resulting Data Type

String

Logic/Algorithms

FILLIN1 = (String(TOGGLEBOX1))

Example

Check box input TOGGLEBOX1 and Character input FILLIN1 have been added to a configurator input page.
The following On Leave expression is added to the TOGGLEBOX1 input using the Convert Logical to String
expression function:
FILLIN1 = (String(TOGGLEBOX1))
If the TOGGLEBOX1 input on the input page is selected, the expression above would be processed, allowing you
to assign the logical result to a string data type field. The resulting string value of Yes would be assigned to
FILLIN1 if the TOGGLEBOX1 input was selected. If TOGGLEBOX1 is cleared, the string value No would be assigned
to the FILLIN1 input.

Convert Number to String

Using Convert Number to String performs the Strings function on the Numeric type value. Refer to Combine
Strings for detailed information about the String function.

Where Located

The Convert Number to String expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Convert Number to String expression function auto-populates the following string into the expression string:
String({number})

Resulting Data Type

String

Logic/Algorithms

FILLIN2 = (String(FILLIN1))

Epicor ERP | 9.05.702 257


Expression Builder Functions Configurator Technical Reference Guide

Example

Decimal input FILLIN1 and Character input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to the FILLIN1 input using the Convert Number to String expression
function:
FILLIN2 = (String(FILLIN1))
If the value 12 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, allowing you to assign the numeric value to a string data type field. The resulting string value of 12 would
be populated in the FILLIN2 input.

Convert String to Decimal

Using the Convert String to Decimal expression function performs the Decimal function to add a Numeric
type value to another Numeric type value, and returns a Numeric type result. The Decimal function converts an
expression of any data type (String, Logical, Number) to a decimal numeric value.

Where Located

The Convert String to Decimal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Convert String to Decimal expression function auto-populates the following string into the expression string:
Decimal({string})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Decimal(FILLIN1))

Example

Character input FILLIN1 and Decimal input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to the FILLIN1 input using the Convert String to Decimal expression
function:
FILLIN2 = (Decimal(FILLIN1))
If the string value 12.34 is entered in the FILLIN1 input, the expression above would be processed when leaving
the FILLIN1 input, allowing you to assign the string value to a numeric data type field. The resulting decimal value
of 12.34 would be populated in the FILLIN2 input.

258 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Convert String to Integer

Using the Convert String to Integer expression function performs the Integer function to add a Numeric type
value to another Numeric type value, and returns a Numeric type result.
The Integer function converts an expression of any data type (String, Logical, Number) to a 32-bit Integer data
type value, rounding that value if necessary.

Where Located

The Convert String to Integer expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Convert String to Integer expression function auto-populates the following string into the expression string:
Integer({string})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Integer(FILLIN1))

Example

Character input FILLIN1 and Decimal input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to the FILLIN1 input using the Convert String to Integer expression
function:
FILLIN2 = (Integer(FILLIN1))
If the string value 12.34 is entered in the FILLIN1 input, the expression above would be processed when leaving
the FILLIN1 input, allowing you to assign the string value to a numeric data type field. The resulting rounded
integer value of 12 would be populated in the FILLIN2 input.

Epicor ERP | 9.05.702 259


Expression Builder Functions Configurator Technical Reference Guide

Cosecant

Using the Cosecant expression function calculates the Cosecant of a Numeric type value.

Where Located

The Cosecant expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Cosecant expression function auto-populates the following string into the expression string:
CSC({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (CSC(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Cosecant
expression function:
FILLIN2 = (CSC(FILLIN1))
If the value 5 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of 11.47371 would be populated in the FILLIN2 input. Only use this in situations
where you know that FILLIN1 cannot be zero.

Cosine

Using the Cosine expression function calculates the Cosine of a Numeric type value.

Where Located

The Cosine expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Cosine expression function auto-populates the following string into the expression string:
COS({number})

260 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (COS(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Cosine
expression function:
FILLIN2 = (COS(FILLIN1))
If the value 5 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of 0.99619 would be populated in the FILLIN2 input.

Cotangent

Using the Cotangent expression function calculates the Cotangent of a Numeric type value.

Where Located

The Cotangent expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Cotangent expression function auto-populates the following string into the expression string:
COT({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (COT(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Cotangent
expression function:
FILLIN2 = (COT(FILLIN1))

Epicor ERP | 9.05.702 261


Expression Builder Functions Configurator Technical Reference Guide

If the value 5 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of 11.43005 would be populated in the FILLIN2 input.

Cube Root

Using the Cube Root expression function performs the Exp function on the Numeric type value and calculates
the Cube Root of a Numeric type value.

Where Located

The Cube Root expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Cube Root expression function auto-populates the following string into the expression string:
Exp({number},1 / 3)

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Exp(FILLIN1,1 / 3))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Cube Root
expression function:
FILLIN2 = (Exp(FILLIN1,1 / 3))
If the value 5 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of 1.70998 would be populated in the FILLIN2 input.

262 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Current Date

Using the Current Date expression function performs the Today function and returns the current system date.

Where Located

The Current Date expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Current Date expression function auto-populates the following string into the expression string:
Today

Resulting Data Type

Date

Logic/Algorithms

FILLIN2 = (Today)

Example

Character input FILLIN1 and Date input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Date expression function:
FILLIN2 = (Today)
If the current date is 12/01/2008, the expression above would be processed when leaving the FILLIN1 input, and
the resulting value of 12/01/2008 would be populated in the FILLIN2 input.

Current Time

Using the Current Time expression function performs the Time function, returns the current system date result,
and then performs the String function on the result. Refer to Combine Strings for detailed information about
the String function.

Where Located

The Current Time expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Current Time expression function auto-populates the following string into the expression string:

Epicor ERP | 9.05.702 263


Expression Builder Functions Configurator Technical Reference Guide

String(Time,'HH:MM:SS')

Resulting Data Type

String

Logic/Algorithms

FILLIN2 = (String(Time,'HH:MM:SS'))

Example

Character inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Time expression function:
FILLIN2 = (String(Time,'HH:MM:SS'))
If the current time is 7:52:30 a.m., the expression above would be processed when leaving the FILLIN1 input,
and the resulting string value of 07:52:30 would be populated in the FILLIN2 input.

Date Constant/Field/Input/Calculation

Using the Date Constant/Field/Input/Calculation expression function allows entry of the following values into
the expression string.
• Date Constant
• Field
• Input
• Calculation

Where Located

The Date Constant/Field/Input/Calculation expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Date Constant/Field/Input/Calculation expression function auto-populates the following string into the
expression string:
{date}

Resulting Data Type

Date

264 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Examples

Example 1 - Date Constant


FILLIN1 = 07/10/2008, where FILLIN1 is a date input.

Example 2 - Field
dteDue = JobAsmbl.DueDate
DueDate is a field in the JobAsmbl database table.

Example 3 - Date Input


JobAsmbl.Date01 = FILLIN1
dteRequired is an input field used in the configuration Q & A session.

Example 4 - Calculation
JobAsmbl. Date02 = dteEstimated
dteEstimated is a Calculation field that is defined using a Calculation rule function. Refer to Use of Rules Types
in Rules Processing for more details.

Dates Equal

Using the Dates Equal expression function returns a logical result after processing the expression between two
Date type values.

Where Located

The Dates Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Dates Equal expression function auto-populates the following string into the expression string:
{date} = {date}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 = (Today))

Epicor ERP | 9.05.702 265


Expression Builder Functions Configurator Technical Reference Guide

Example

Date input FILLIN1 and Check box input TOGGLEBOX1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,updating the value of TOGGLEBOX1 using the Dates Equal
expression function:
TOGGLEBOX1 = (FILLIN1 = (Today))
If the date entered in FILLIN1 is equal to the current date, the resulting value of the expression above would be
true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN1 input. If the value entered
isn't equal to the current date, the TOGGLEBOX1 check box would be cleared.

Dates Greater or Equal

Using the Dates Greater or Equal expression function returns a logical result after processing the expression
between two Date type values.

Where Located

The Dates Greater or Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Dates Greater or Equal expression function auto-populates the following string into the expression string:
{date} >= {date}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 >= (Today))

Example

Date inputs FILLIN1 and Check box input TOGGLEBOX1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of TOGGLEBOX1 using the Dates
Greater or Equal expression function:
TOGGLEBOX1 = (FILLIN1 >= (Today))
If the date entered in FILLIN1 is greater than or equal to the current date, the resulting value of the expression
above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN1 input. If the
value entered isn't greater than or equal to the current date, the TOGGLEBOX1 check box would be cleared.

266 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Dates Greater Than

Using the Dates Greater Than expression function returns a logical result after processing the expression between
two Date type values.

Where Located

The Dates Greater Than expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Dates Greater Than expression function auto-populates the following string into the expression string:
{date} > {date}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 > (Today))

Example

Date input FILLIN1 and Check box input TOGGLEBOX1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of TOGGLEBOX1 using the Dates
Greater Than expression function:
TOGGLEBOX1 = (FILLIN1 > (Today))
If the date entered in FILLIN1 is greater than the current date, the resulting value of the expression above would
be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN1 input. If the value entered
isn't greater than the current date, the TOGGLEBOX1 check box would be cleared.

Dates Less or Equal

Using the Dates Less or Equal expression function returns a logical result after processing the expression between
two Date type values.

Where Located

The Date Less or Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Dates Less or Equal expression function auto-populates the following string into the expression string:

Epicor ERP | 9.05.702 267


Expression Builder Functions Configurator Technical Reference Guide

{date} <= {date}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 <= (Today))

Example

Date input FILLIN1 and Check box input TOGGLEBOX1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of TOGGLEBOX1 using the Dates
Less or Equal expression function:
TOGGLEBOX1 = (FILLIN1 <= (Today))
If the date entered in FILLIN1 is less than or equal to the current date, the resulting value of the expression above
would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN1 input. If the value
entered isn't less than or equal to the current date, the TOGGLEBOX1 check box would be cleared.

Dates Less Than

Using the Dates Less Than expression function returns a logical result after processing the expression between
two Date type values.

Where Located

The Date Less Than expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Dates Less Than expression function auto-populates the following string into the expression string:
{date} < {date}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 < (Today))

268 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Date input FILLIN1 and Check box input TOGGLEBOX1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of TOGGLEBOX1 using the Dates
Less Than expression function:
TOGGLEBOX1 = (FILLIN1 < (Today))
If the date entered in FILLIN1 is less than the current date, the resulting value of the expression above would be
true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN1 input. If the value entered
isn't less than the current date, the TOGGLEBOX1 check box would be cleared.

Dates Not Equal

Using the Dates Not Equal expression function returns a logical result after processing the expression between
two Date type values. Using the Day of Week expression function performs the Weekday function to evaluate
a Date type value expression, and returns a day of the week as an Integer numeric value.

Where Located

The Dates Not Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Dates Not Equal expression function auto-populates the following string into the expression string:
{date}<>{date}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 <> (Today))

Example

Date input FILLIN1 and Check box input TOGGLEBOX1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of TOGGLEBOX1 using the Dates Not
Equal expression function:
TOGGLEBOX1 = (FILLIN1 <> (Today))
If the date entered in FILLIN1 is not equal to the current date, the resulting value of the expression above would
be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN1 input. If the value entered
is equal to the current date, the TOGGLEBOX1 check box would be cleared.

Epicor ERP | 9.05.702 269


Expression Builder Functions Configurator Technical Reference Guide

Day of Month

Using the Day of Month expression function performs the Day function to evaluate a date expression and
returns a day of the month as an Integer value (from 1 to 31 inclusive).

Where Located

The Day of Month expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Day of Month expression function auto-populates the following string into the expression string:
Day({date})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Day(FILLIN1))

Example

Date input FILLIN1 and Decimal input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of FILLIN2 using the Day of Month
expression function:
FILLIN2 = (Day(FILLIN1))
If the date entered in FILLIN1 is 12/02/2008, the expression above would be processed when leaving the FILLIN1
input, and the resulting numeric value of 2 would be populated in the FILLIN2 input.

Day of Week

Using the Day of Week expression function performs the Weekday function to evaluate a Date type value
expression, and returns a day of the week as an Integer numeric value (from 1 (Sunday) to 7 (Saturday)) for that
date.

Where Located

The Day of Week expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Day of Week expression function auto-populates the following string into the expression string:

270 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Weekday({date})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Weekday(FILLIN1))

Example

Date input FILLIN1 and Decimal input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of FILLIN2 using the Day of Week
expression function:
FILLIN2 = (Weekday(FILLIN1))
If the date entered in FILLIN1 is 12/02/2008, the expression above would be processed when leaving the FILLIN1
input, and the resulting numeric value of 1 would be populated in the FILLIN2 input.

Difference between Two Dates

Using the Difference between Two Dates expression function subtracts a Date type value from another Date
type value and returns a numerical result.

Where Located

The Difference between Two Dates expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Difference between Two Dates expression function auto-populates the following string into the expression
string:
{date} - {date}

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (FILLIN1 - FILLIN2)

Epicor ERP | 9.05.702 271


Expression Builder Functions Configurator Technical Reference Guide

Example

Date inputs FILLIN1, FILLIN2 and Decimal input FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the value of FILLIN3 using the Difference between
Two Dates expression function:
FILLIN3 = (FILLIN1 - FILLIN2)
If the date entered in FILLIN1 is 12/31/2008 and the date entered in FILLIN2 was 12/15/2008, the expression
above would be processed when leaving the FILLIN2 input, and the resulting numeric value of 16 would be
populated in the FILLIN3 input.

Display as Time

Using Display as Time performs the String function on the resulting value of the Integer function on {number}.
Refer to Combine Strings for detailed information about the String function.

Where Located

The Display as Time expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Display as Time expression function auto-populates the following string into the expression string:
String(Integer({number}),'HH:MM:SS')

Resulting Data Type

String

Logic/Algorithms

FILLIN2 = (String(Integer(FILLIN1),'HH:MM:SS'))

Example

Decimal input FILLIN1 and Character input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Display as
Time expression function:
FILLIN2 = (String(Integer(FILLIN1),'HH:MM:SS'))
If the value 400 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting string value of 00:06:40 would be populated in the FILLIN2 input.

272 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Divide

Using the Divide expression function divides a Numeric type value by another Numeric type value and returns
a numerical result.

Where Located

The Divide expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Divide expression function auto-populates the following string into the expression string:
{number} / {number}

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (FILLIN2 / FILLIN1)

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Divide
expression function:
IF FILLIN1 > 0 THEN FILLIN3 = (FILLIN2 / FILLIN1)
If the value 10 is entered in the FILLIN2 input and the value of 5 is entered in the FILLIN1 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting value of 2 would be populated in
the FILLIN3 input. This should only be used in situations in which FILLIN1 can't be zero; using a value of zero in
the numerator results result in an error because the Epicor application can't divide denominators by a numerator
containing a value of zero. To work around this limitation, construct logic that prevents use of a zero value in
the numerator.

Earlier of Two Dates

Using the Earlier of Two Dates expression function performs the Minimum function to compare two or more
Date type values, and returns the smallest (earliest) result. A constant, field name, variable name, or expression
can be used.
If there is a mixture of decimal and integer data types, it returns the Decimal type.

Epicor ERP | 9.05.702 273


Expression Builder Functions Configurator Technical Reference Guide

Where Located

The Earlier of Two Dates expression function can be added as an On Leave or expression.

Proper Syntax

The Earlier of Two Dates expression function auto-populates the following string into the expression string:
Minimum({date},{date})

Resulting Data Type

Date

Logic/Algorithms

FILLIN3 = (Minimum(FILLIN1,FILLIN2))

Example

Date inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Earlier of
Two Dates expression function:
FILLIN3 = (Minimum(FILLIN1,FILLIN2)
If the value 12/15/2008 is entered in the FILLIN1 input and the value of 10/15/2008 is entered in the FILLIN2
input, the expression above would be processed when leaving the FILLIN2 input, and the resulting value of
10/15/2008 would be populated in the FILLIN3 input.

ExcelLookup

To avoid complex formulas or selection rules, the Excel Lookup express function can be used to "look up" values
in an external Microsoft Excel spreadsheet that contains sophisticated data that should be incorporated into a
product configuration based on specified inputs and rules.

Where Located

The Excel Lookup expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Excel Lookup expression function auto-populates the following string into the expression string:
ExcelLookup({FileName}, {SheetName}, {ColValue}, {RowValue})
The expression components must be entered as follows (refer to the example found below):
• FileName - Enter the exact pathname or URL location of the Excel spreadsheet.
• SheetName - Enter the exact name of the Excel worksheet.

274 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

• ColValue - Enter the exact name of the label of the spreadsheet column from which data is being returned.
The column must be labeled with a user-specified label; the standard Excel labels (for example, A, B, C) cannot
be referenced.
• RowValue - Enter the exact content of the cell that you are referencing as a key. This data must reside in
first column of the spreadsheet. If multiple cells contact the same content, the Epicor application uses the
first cell found.
Tip Be careful when you enter row labels or column labels. If either label is not found, the Epicor application
searches the entire spreadsheet (65536 rows x 256 columns); this can cause a long delay.

Resulting Data Type

String

Example

A spreadsheet entitled PartPrices.xls (found in C:\folder) contains a list of prices for parts; it only has one sheet.
The first column contains part names, the second column contains the associated price, and the third column
contains a price-break price for quantities of 10 for the part. The ExcelLookup express function supports entry
of relative paths, so a valid statement might appear as pcrules\myfile.xls. The Excel spreadsheet appears as follows:

A B C

Amount1 Amount2

AAA-001 200 1500

AAA-002 300 2500

AAA-003 400 3000

AAA-004 500 4000

AAA-005 600 5000

Accordingly, the following ExcelLookup expression returns a value of 400:


ExcelLookup(C:\folder\partprices.xls, Sheet1, Amount1, AAA-003)
The following ExcelLookup expression returns a value of 5000:
ExcelLookup(C:\folder\partprices.xls, Sheet1, Amount2, AAA-005)
Tip In the examples above, Partprices.xls must to reside in the C:\Folder directory on the server. You can
also specify a full UNC path if the file is located on a different server or machine. If the file is located on
another server or machine, the server where this code is being executed has to proper permissions required
to access the folder where it is located.

Epicor ERP | 9.05.702 275


Expression Builder Functions Configurator Technical Reference Guide

Factorial

Using the Factorial expression function calculates the Factorial of a Numeric type value and returns a numerical
result.

Where Located

The Factorial expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Factorial expression function auto-populates the following string into the expression string:
Factorial({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Factorial(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Factorial
expression function:
FILLIN2 = (Factorial(FILLIN1))
If the value 5 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of 120 would be populated in the FILLIN2 input.

FieldHeight

Changes the height of a browser, character, checkbox, editor, radio set, rectangle or text input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldHeight('InputFieldName', {number})

276 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Height function:
FieldHeight('FILLIN1', 31).
The height of FILLIN1 is set to 31 points high.

FieldIncrement

Changes the incremental value of a decimal input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldIncrement('InputFieldName', {decimal})

Example

Decimal

FieldInitialValue

Changes the initial value of a browser, character, checkbox, combo box, date, decimal, editor or radio set input
field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax
Depending on the field's input type, the initial value is a date, decimal, logical or character.
The used field properties are as follows:
• Date - FieldInitValDate
• Decimal - FieldInitValDec
• Logical - FieldInitValLog
• Character - FieldInitValChar

Epicor ERP | 9.05.702 277


Expression Builder Functions Configurator Technical Reference Guide

Example
• Character: FieldInitValChar('FILLIN3'. 'ABC')
• Date: FieldInitValDate('FILLIN4'. 02/13/2012)
• Check Box: FieldInitValLog('TOGGLEBOX1'. TRUE)
• Combo Box: FieldInitValChar('COMBOBOX1'. 'XYZ')
• Radio Set: FieldInitValChar('RADIOSET1'. '1')
• Browser: FieldInitValChar('BROWSER1'. 'BROWSERDATA')

FieldInvisible

Changes the visibility of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle
or text input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldInvisible('InputFieldName', {logical})
If the logical value is true then the input field becomes invisible.

Example

Decimal input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Invisible function:
FieldInvisible('FILLIN1', True).
Input field FILLIN1 is made invisible.

FieldLabel

Changes the label of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle or
text input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldLabel('InputFieldName', {string})

278 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Label function:
FieldWidth('FILLIN1', 'This is My Label:').
The label of FILLIN1 is set to "This is My Label:".

FieldMaximumDate

Changes the end date value of a date input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldMaximumDate('InputFieldName', {date})

Example

Date input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Maximum Date function:
FieldMaximumDate('FILLIN1', (Today + 30)).
The end date of FILLIN1 is set to 30 days from today.

FieldMinimumDate

Changes the start date value of a date input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldMinimumDate('InputFieldName', {date})

Epicor ERP | 9.05.702 279


Expression Builder Functions Configurator Technical Reference Guide

Example

Date input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Minimum Date function:
FieldMinimumDate('FILLIN1', Today).
The start date of FILLIN1 is set to today.

FieldMaximumDecimal

Changes the maximum value of a decimal input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldMaximumDecimal('InputFieldName', {decimal})

Example

Decimal input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Maximum Decimal function:
FieldMaximumDecimal('FILLIN1', 10000).
The maximum value of FILLIN1 is set to 10,000.

FieldMinimumDecimal

Changes the minimum value of a decimal input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldMinimumDecimal('InputFieldName', {decimal})

280 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Decimal input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Minimum Decimal function:
FieldMinimumDecimal('FILLIN1', 100).
The minimum value of FILLIN1 is set to 100.

FieldRequired

Changes the required status of a browser, character, date, decimal, editor or radio set input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldRequired('InputFieldName', {logical})

Example

Decimal input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Required function:
Field3Required('FILLIN1', True).
The input field FILLIN1 is marked as required.

FieldSummaryLabel

Changes the summary label of a browser, character, checkbox, combo box, date, decimal, editor or radio set
input field. The summary label is displayed in the summary grid when a configuration is reconfigured in
Opportunity/Quote Entry, Order Entry, Job Entry, Purchase Order Entry or Demand Entry.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldSummaryLabel('InputFieldName', {string})

Epicor ERP | 9.05.702 281


Expression Builder Functions Configurator Technical Reference Guide

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Summary Label function:
FieldSummaryLabel('FILLIN1', 'My Summary Label").
The summary label of FILLIN1 is set to "My Summary Label".

FieldToolTip

Changes the width of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle or
text input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldToolTip('InputFieldName', {string})

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Tool Tip function:
FieldToolTip('FILLIN1', 'This is my ToolTip').
The tooltip of FILLIN1 is set to "This is my ToolTip".

FieldValidList

Changes the valid list of a character or radio set input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldValidList('InputFieldName', {string})

282 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Valid List function:
FieldValidList('FILLIN1', 'Item 1,Item 2,Item 3').
The valid list of FILLIN1 is set to "Item 1,Item 2,Item 3".

FieldWidth

Changes the width of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle or
text input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

FieldWidth('InputFieldName', {number})

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Width function:
FieldWidth('FILLIN1', 80).
The width of FILLIN1 is set to 80 points long.

Epicor ERP | 9.05.702 283


Expression Builder Functions Configurator Technical Reference Guide

FieldXPosition

Changes the X position of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle
or text input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

Changes the X position of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle
or text input field.

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field X position function:
FieldXPosition('FILLIN1', 100).
The X position of FILLIN1 is set to 100 points from the left of the page.

FieldYPosition

Changes the Y position of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle
or text input field.

Where Located

The field property functions can be added as an On Leave or a Document Rule expression.

Proper Syntax

Changes the Y position of a browser, character, checkbox, combo box, date, decimal, editor, radio set, rectangle
or text input field.

Example

Character input FILLIN1 has been added to a configurator input page.


The following On Leave expression has been added to another input using the Field Y position function:
FieldYPosition('FILLIN1', 200).
The Y position of FILLIN1 is set to 200 points from the top of the page.

284 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Greater of Two Numbers

Using Greater of Two Numbers performs the Maximum function, compares two or more Numeric type values
and returns the largest value. A constant, field name, variable name, or expression can be used.
If there is a mixture of decimal and integer data types, it returns the Decimal type.

Where Located

The Greater of Two Numbers expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Greater of Two Numbers expression function auto-populates the following string into the expression string:
Maximum({number},{number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (Maximum(FILLIN1,FILLIN2))

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Greater of
Two Numbers expression function:
FILLIN3 = (Maximum(FILLIN1,FILLIN2))
If the value 6 is entered in the FILLIN1 input and the value of 10 is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting numeric value of 10 would be
populated in the FILLIN3 input.

Epicor ERP | 9.05.702 285


Expression Builder Functions Configurator Technical Reference Guide

Greater of Two Strings

Using Greater of Two Strings performs the Maximum function compares two or more string type values and
returns the largest value. Refer to Greater of Two Numbers for detailed information about the Maximum
function.

Where Located

The Greater of Two Strings expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Greater of Two Strings expression function auto-populates the following string into the expression string:
Maximum({string},{string})

Resulting Data Type

String

Logic/Algorithms

FILLIN3 = (Maximum(FILLIN1,FILLIN2))

Example

Character inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Greater of
Two Strings expression function:
FILLIN3 = (Maximum(FILLIN1,FILLIN2))
If the value A is entered in the FILLIN1 input and the value of B is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting string value of B would be populated
in the FILLIN3 input.

286 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

If first expression is true return second else third date

Using the If first expression is true return second else third date expression function returns either the first
or second date value depending on the result of the logical expression.

Where Located

The If first expression is true return second else third date expression function can be added as an On Leave or
Rule expression.

Proper Syntax

The If first expression is true return second else third date expression function auto-populates the following string
into the expression string:
If {logical} Then ({date}) Else ({date})

Resulting Data Type

Date

Logic/Algorithms

FILLIN3 = (If TOGGLEBOX1 Then (FILLIN1) Else (FILLIN2))

Example

Check box input TOGGLEBOX1, and Date inputs FILLIN2, FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to TOGGLEBOX1, updating the input value of FILLIN3 using the If
first expression is true return second else third date expression function:
FILLIN3 = (If TOGGLEBOX1 Then (FILLIN1) Else (FILLIN2))
The value of 12/01/2008 is entered in the FILLIN1 input and the value of 12/02/2008 is entered in the FILLIN2
input. If the TOGGLEBOX1 input is selected, the expression above would be processed, and the date value of
12/01/2008 would be populated in the FILLIN3 input. If the TOGGLEBOX2 input is cleared, the date value of
12/02/2008 would be populated in the FILLIN3 input.

Epicor ERP | 9.05.702 287


Expression Builder Functions Configurator Technical Reference Guide

If first expression is true return second else third number

Using the If first expression is true return second else third number expression function returns either the
first or second Numeric type value depending on the result of the logical expression.

Where Located

The If first expression is true return second else third number expression function can be added as an On Leave
or Rule expression.

Proper Syntax

The If first expression is true return second else third number expression function auto-populates the following
string into the expression string:
If {logical} Then ({number}) Else ({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (If TOGGLEBOX1 Then (FILLIN1) Else (FILLIN2))

Example

Check box input TOGGLEBOX1, and Decimal inputs FILLIN2, FILLIN3 have been added to a configurator input
page.
The following On Leave expression is added to TOGGLEBOX1, updating the input value of FILLIN3 using the If
first expression is true return second else third number expression function:
FILLIN3 = (If TOGGLEBOX1 Then (FILLIN1) Else (FILLIN2))
The value of 5 is entered in the FILLIN1 input and the value of 10 is entered in the FILLIN2 input. If the TOGGLEBOX1
input is selected, the expression above would be processed, and the numeric value of 5 would be populated in
the FILLIN3 input. If the TOGGLEBOX2 input is cleared, the numeric value of 10 would be populated in the FILLIN3
input.

288 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

If first expression is true return second else third string

Using the If first expression is true return second else third string expression function returns either the
first or second string value depending on the result of the logical expression.

Where Located

The If first expression is true return second else third string expression function can be added as an On Leave or
Rule expression.

Proper Syntax

The If first expression is true return second else third string expression function auto-populates the following
string into the expression string:
If {logical} Then ({string}) Else ({string})

Resulting Data Type

String

Logic/Algorithms

FILLIN3 = (If TOGGLEBOX1 Then (FILLIN1) Else (FILLIN2))

Example

Check box input TOGGLEBOX1, and Character inputs FILLIN2, FILLIN3 have been added to a configurator input
page.
The following On Leave expression is added to TOGGLEBOX1, updating the input value of FILLIN3 using the If
first expression is true return second else third string expression function:
FILLIN3 = (If TOGGLEBOX1 Then (FILLIN1) Else (FILLIN2))
The value of ABC is entered in the FILLIN1 input and the value of DEF is entered in the FILLIN2 input. If the
TOGGLEBOX1 input is selected, the expression above would be processed, and the string value of ABC would
be populated in the FILLIN3 input. If the TOGGLEBOX2 input is cleared, the string value of DEF would be populated
in the FILLIN3 input.

Later of Two Dates

Using Later of Two Dates performs the Maximum function, compares two Date type values and returns either
the first or second string value depending on the result of the logical expression. A constant, field name, variable
name, or expression can be used.
If there is a mixture of decimal and integer data types, it returns the Decimal type.

Epicor ERP | 9.05.702 289


Expression Builder Functions Configurator Technical Reference Guide

Where Located

The Later of Two Dates expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Later of Two Dates expression function auto-populates the following string into the expression string:
Maximum({date},{date})

Resulting Data Type

String

Logic/Algorithms

FILLIN3 = (Maximum(FILLIN1,FILLIN2))

Example

Date inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Later of
Two Dates expression function:
FILLIN3 = (Maximum(FILLIN1,FILLIN2))
If the value 10/15/2008 is entered in the FILLIN1 input and the value of 12/15/2008 is entered in the FILLIN2
input, the expression above would be processed when leaving the FILLIN2 input, and the resulting date value of
12/15/2008 would be populated in the FILLIN3 input.

Least Common Multiple

Using the Least Common Multiple expression finds the Least Common Multiple of two Numeric type values.
This the smallest number that contains as factors the given numbers.

Where Located

The Least Common Multiple expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Least Common Multiple expression function auto-populates the following string into the expression string:
LCM({number}, {number})

Resulting Data Type

Numeric

290 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Logic/Algorithms

FILLIN3 = (LCM(FILLIN1, FILLIN2))

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Least
Common Multiple expression function:
FILLIN3 = (LCM(FILLIN1,FILLIN2)
If the value 8 is entered in the FILLIN1 input and the value of 5 is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting numeric value of 40 would be
populated in the FILLIN3 input.

Length of String

Using Length of String performs the Length function on the String type value and returns a numeric value.

Where Located

The Length of String expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Length of String expression function auto-populates the following string into the expression string:
Length({string})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Length(FILLIN1))

Example

Character input FILLIN1 and Decimal input FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Length of
String expression function:
FILLIN2 = (Length(FILLIN1)
If the value ABCDEF is entered in the FILLIN1, the expression above would be processed when leaving the FILLIN1
input, and the resulting numeric value of 6 would be populated in the FILLIN2 input.

Epicor ERP | 9.05.702 291


Expression Builder Functions Configurator Technical Reference Guide

Lesser of Two Strings

Using Lesser of Two Strings performs the Minimum function using the two string type values and returns a
string value.

Where Located

The Lesser of Two Strings expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Lesser of Two Strings expression function auto-populates the following string into the expression string:
Minimum({string},{string})

Resulting Data Type

String

Logic/Algorithms

FILLIN3 = (Minimum(FILLIN1,FILLIN2))

Example

Character inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Lesser of
Two Strings expression function:
FILLIN3 = (Minimum(FILLIN1,FILLIN2))
If the value A is entered in the FILLIN1 input and the value of B is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting string value of A would be populated
in the FILLIN3 input.

Log Base e

Using Log Base e performs the Log expression function, in base e, on the specified Numeric type value and
returns a numeric value.

Where Located

The Log Base e expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Log Base e expression function auto-populates the following string into the expression string:

292 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Log({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Log(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Log Base
e expression function:
FILLIN2 = (Log(FILLIN1))
If the value 5 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting numeric value of 1.60944 would be populated in the FILLIN2 input. Use this only in
situations in which you are certain that FILLIN1 cannot become zero.

Log Base n

Using Log Base n performs the Log function on the specified Numeric type values and returns a numeric value.

Where Located

The Log Base n expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Log Base n expression function auto-populates the following string into the expression string:
Log({number}, {numberbase})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (Log(FILLIN1,FILLIN2))

Epicor ERP | 9.05.702 293


Expression Builder Functions Configurator Technical Reference Guide

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Log Base
n expression function:
FILLIN3 = (Log(FILLIN1,FILLIN2))
If the value 5 is entered in the FILLIN1 input and 10 is entered in the FILLIN2 input, the expression above would
be processed when leaving the FILLIN2 input, and the resulting numeric value of 0.69897 would be populated
in the FILLIN3 input.
Use this only in situations in which you are certain that FILLIN1 and FILLIN2 cannot be zero.

Logical AND

Using the Logical AND expression function allows entry of two logical data type values into the expression string,
and returns a logical type result.

Where Located

The Logical AND expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Logical AND expression function auto-populates the following string into the expression string:
({logical} And {logical})

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX3 = ((TOGGLEBOX1 And TOGGLEBOX2))

Example

Check box inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to TOGGLEBOX2, updating the input value of TOGGLEBOX3 using
the Logical AND expression function:
TOGGLEBOX3 = ((TOGGLEBOX1 And TOGGLEBOX2))
If the TOGGLEBOX1 check box and the TOGGLEBOX2 check box are both selected, the expression above is
processed and the TOGGLEBOX3 checkbox is selected. If either TOGGLEBOX1 or TOGGLEBOX2 is cleared, the
TOGGLEBOX3 checkbox is cleared.

294 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Logical Constant/Field/Input/Calculation

Using the Logical Constant/Field/Input/Calculation expression function allows entry of the following values
into the expression string.
• Logical Constant
• Field
• Input
• Calculation

Where Located

The Logical Constant/Field/Input/Calculation expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Logical Constant/Field/Input/Calculation expression function auto-populates the following string into the
expression string:
{logical}

Resulting Data Type

Logical

Examples

Example 1 - Logical Constant


CHECKBOX1 = True, where CHECKBOX1 is a logical input.

Example 2 - Field
JobAsmbl.CheckBox01 = TOGGLEBOX1
TOGGLEBOX1 is an input field used in the configuration Q & A session.

Example 3 - Logical Input


JobAsmbl.Character01 = Editor-1
Editor-1 is an input field used in the configuration Q & A session.

Example 4 - Calculation
JobAsmbl.CheckBox02 = lgNeedengineering
lgNeedengineering is a Calculation field that is defined using a Calculation rule function. Refer to Use of Rules
Types in Rules Processing for more details.

Epicor ERP | 9.05.702 295


Expression Builder Functions Configurator Technical Reference Guide

Logical expression

Using Logical expression allows entry of a logical data type value into the expression string, and returns a logical
type result.

Where Located

The Logical expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Logical expression function auto-populates the following string into the expression string:
({logical})

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX2 = (TOGGLEBOX1)

Example

Check box inputs TOGGLEBOX1 and TOGGLEBOX2 have been added to a configurator input page.
The following On Leave expression is added to TOGGLEBOX1, updating the input value of TOGGLEBOX2 using
the Logical expression function:
TOGGLEBOX2 = (TOGGLEBOX1)
When the TOGGLEBOX1 check box is selected, the expression above is processed and the TOGGLEBOX2 check
box is also selected. When the TOGGLEBOX1 check box is cleared, the TOGGLEBOX2 check box is also cleared.

Logical OR

Using the Logical OR expression function allows a user to enter two logical data type values into the expression
string.

Where Located

The Logical OR expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Logical OR expression function auto-populates the following string into the expression string:

296 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

({logical} Or {logical})

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX3 = ((TOGGLEBOX1 Or TOGGLEBOX2))

Example

Check box inputs TOGGLEBOX1, TOGGLEBOX2 and TOGGLEBOX3 have been added to a configurator input
page.
The following On Leave expression is added to TOGGLEBOX2, updating the input value of TOGGLEBOX3 using
the Logical OR expression function:
TOGGLEBOX3 = ((TOGGLEBOX1 Or TOGGLEBOX2))
When the TOGGLEBOX2 check box is selected or cleared, if either the TOGGLEBOX1 or TOGGLEBOX 2 check
boxes are selected (or if both are selected), the TOGGLEBOX3 checkbox is selected. If neither is selected, the
TOGGLEBOX3 check box is cleared.

Matches

Using the Matches expression function performs the Matches function on two string data type values and
returns a logical value.
Note that using Equals in expressions is much more efficient that using Matches. The Equal command performs
better during an actual configuration Q&A session, and is less error-prone, though Matches can be used with
wildcards. The Equals syntax only performs one comparison and matches many.
For example, if the user enters ABB as the value into an input field (FILLIN1) during a configuration Q&A session:
• If a Prompt When expression with the syntax If fill -in1 matches "*BB*" then True has been defined for
another input field (FILLIN2), the Epicor application must make two comparisons between BB and the value
entered into FILLIN1 - it has to compare BB with AB (FILLIN1), and with BB (FILLIN1).
• If the Prompt When expression for FILLIN2 contains the syntax If fill -in1 equals "BBB" then True, the Epicor
application must only make one comparison - it only has to compare BBB to the actual value entered into
FILLIN (in this case ABB) to confirm that the expression has been satisfied.

Where Located

The Matches expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Matches expression function auto-populates the following string into the expression string:
{string} Matches {string}

Epicor ERP | 9.05.702 297


Expression Builder Functions Configurator Technical Reference Guide

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 Matches FILLIN2)

Example

Check box inputs TOGGLEBOX1 and Character inputs FILLIN2, FILLIN3 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the input value of TOGGLEBOX1 using the
Matches expression function:
TOGGLEBOX1 = (FILLIN1 Matches FILLIN2)
If the value ABC is entered in the FILLIN1 input and ABC is entered in the FILLIN2 input, the expression above
would be processed when leaving the FILLIN2 input, and the TOGGLEBOX1 check box would be selected. If the
values in FILLIN1 and FILLIN2 didn't match, the TOGGLEBOX1 checkbox would be cleared.

Month of Year

Using the Month of Year expression function performs the Month function on the Date data type values and
returns a numeric value.

Where Located

The Month of Year expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Month of Year expression function auto-populates the following string into the expression string:
Month({date})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Month(FILLIN1))

298 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Date input FILLIN1 and Decimal input FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1,, updating the value of FILLIN2 using the Month of Year
expression function:
FILLIN2 = (Month(FILLIN1))
If the date entered in FILLIN1 is 12/02/2008, the expression above would be processed when leaving the FILLIN1
input, and the resulting numeric value of 12 would be populated in the FILLIN2 input.

Multiply

Using the Multiply expression function multiplies a Numeric type value by another Numeric type value and
returns a numerical result.

Where Located

The Multiply expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Multiply expression function auto-populates the following string into the expression string:
{number} * {number}

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (FILLIN1 * FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Multiply
expression function:
FILLIN3 = (FILLIN1 * FILLIN2)
If the value 25 is entered in the FILLIN1 input and the value 30 is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting value of 750 would be populated
in the FILLIN3 input.

Epicor ERP | 9.05.702 299


Expression Builder Functions Configurator Technical Reference Guide

Negate logical expression (NOT)

Using the Negate logical expression (NOT) expression function performs the Not function on logical type
values and returns a logical value.

Where Located

The Negate logical expression (NOT) expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Negate logical expression (NOT) expression function auto-populates the following string into the expression
string:
Not {logical}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX2 = (Not TOGGLEBOX1)

Example

Check box inputs TOGGLEBOX1 and TOGGLEBOX2 have been added to a configurator input page.
The following On Leave expression is added to TOGGLEBOX1, updating the input value of TOGGLEBOX2 using
the Negate logical expression (NOT) expression function:
TOGGLEBOX2 = (Not TOGGLEBOX1)
If the TOGGLEBOX1 check box is selected, the expression above would be processed, and the TOGGLEBOX2
check box would be cleared. If the TOGGLEBOX1 check box is cleared, the TOGGLEBOX2 check box would be
selected.

300 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Numbers Equal

Using the Numbers Equal expression function returns a logical result after processing the expression between
two numeric data type values.

Where Located

The Numbers Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numbers Equal expression function auto-populates the following string into the expression string:
{number} = {number}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 = FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Numbers
Equal expression function:
TOGGLEBOX1 = (FILLIN1 = FILLIN2)
If the value entered in FILLIN1 is equal to the value entered in FILLIN2, when leaving the FILLIN2 input, the resulting
value of the expression above would be true, and the TOGGLEBOX1 check box would be selected. If the value
entered in FILLIN1 isn't equal to the value entered in FILLIN2, the TOGGLEBOX1 check box would be cleared.

Epicor ERP | 9.05.702 301


Expression Builder Functions Configurator Technical Reference Guide

Numbers Greater or Equal

Using the Numbers Greater or Equal expression function returns a logical result after processing the expression
between two numeric data type values.

Where Located

The Numbers Greater or Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numbers Greater or Equal expression function auto-populates the following string into the expression string:
{number} >= {number}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 >= FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Numbers
Greater or Equal expression function:
TOGGLEBOX1 = (FILLIN1 >= FILLIN2)
If the value entered in FILLIN1 is greater than or equal to the value entered in FILLIN2, the resulting value of the
expression above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2
input. If the value entered in FILLIN1 isn't greater than or equal to the value entered in FILLIN2, the TOGGLEBOX1
check box would be cleared.

302 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Numbers Greater Than

Using the Numbers Greater Than expression function returns a logical result after processing the expression
between two numeric data type values.

Where Located

The Numbers Greater Than expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numbers Greater Than expression function auto-populates the following string into the expression string:
{number} > {number}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 > FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Numbers
Greater Than expression function:
TOGGLEBOX1 = (FILLIN1 > FILLIN2)
If the value entered in FILLIN1 is greater than the value entered in FILLIN2, the resulting value of the expression
above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2 input. If the
value entered in FILLIN1 isn't greater than the value entered in FILLIN2, the TOGGLEBOX1 check box would be
cleared.

Epicor ERP | 9.05.702 303


Expression Builder Functions Configurator Technical Reference Guide

Numbers Less or Equal

Using the Numbers Less or Equal expression function returns a logical result after processing the expression
between two numeric data type values.

Where Located

The Numbers Less or Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numbers Less or Equal expression function auto-populates the following string into the expression string:
{number} <= {number}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 <= FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Numbers
Less or Equal expression function:
TOGGLEBOX1 = (FILLIN1 <= FILLIN2)
If the value entered in FILLIN1 is less than or equal to the value entered in FILLIN2, the resulting value of the
expression above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2
input. If the value entered in FILLIN1 isn't less than or equal to the value entered in FILLIN2, the TOGGLEBOX1
check box would be cleared.

304 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Numbers Less Than

Using the Numbers Less Than expression function returns a logical result after processing the expression between
two numeric data type values.

Where Located

The Numbers Less Than expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numbers Less Than expression function auto-populates the following string into the expression string:
{number} < {number}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 < FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Numbers
Less Than expression function:
TOGGLEBOX1 = (FILLIN1 < FILLIN2)
If the value entered in FILLIN1 is less than the value entered in FILLIN2, the resulting value of the expression above
would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2 input. If the value
entered in FILLIN1 isn't less than the value entered in FILLIN2, the TOGGLEBOX1 check box would be cleared.

Epicor ERP | 9.05.702 305


Expression Builder Functions Configurator Technical Reference Guide

Numbers Not Equal

Using the Numbers Not Equal expression function returns a logical result after processing the expression between
two numeric data type values.

Where Located

The Numbers Not Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numbers Not Equal expression function auto-populates the following string into the expression string:
{number} <> {number}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 <> FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Numbers
Not Equal expression function:
TOGGLEBOX1 = (FILLIN1 <> FILLIN2)
If the value entered in FILLIN1 is not equal to the value entered in FILLIN2, the resulting value of the expression
above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2 input. If the
value entered in FILLIN1 is equal to the value entered in FILLIN2, the TOGGLEBOX1 check box would be cleared.

Numeric Constant/Field/Input/Calculation

Using the Numeric Constant/Field/Input/Calculation expression function allows entry of the following types
of value into the expression string:
• Numeric Constant
• Field
• Input
• Calculation

306 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Where Located

The Numeric Constant/Field/Input/Calculation expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numeric Constant/Field/Input/Calculation expression function auto-populates the following string into the
expression string:
{number}

Resulting Data Type

Numeric

Examples

Example 1 - Numeric Constant


FILLIN1 = 123.67, where FILLIN1 is a decimal input.

Example 2 - Field
Quantity = JobAsmbl.QtyPer
QtyPer is a field in the JobAsmbl database table.

Example 3 - Numeric Input


JobAsmbl.Numeric01 = Temp
Temp is an input field used in the configuration Q & A session.

Example 4 - Calculation
JobAsmbl.QtyPer = decFactor
decFactor is a Calculation field that is defined using a Calculation rule function. Refer to Use of Rules Types in
Rules Processing for more details.

Example 5
Another example of the Numeric Constant/Field/Input/Calculation expression function can also be found in the
Expression Functions / Content Functions topic in the Primary Components and Calculations section of
this document.

Epicor ERP | 9.05.702 307


Expression Builder Functions Configurator Technical Reference Guide

Raise to a Power

Using the Raise to a Power expression function performs the Exp function using the two numeric data type
values and returns a numeric value.

Where Located

The Raise to a Power expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Raise to a Power expression function auto-populates the following string into the expression string:
Exp({number},{number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Exp(FILLIN1,2))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Raise to a
Power expression function:
FILLIN2 = (Exp(FILLIN1,2))
If the value 5 is entered in the FILLIN1 input, the expression above would be processed, raising the power to 2,
and the resulting value of 25 would be populated in the FILLIN2 input when leaving the FILLIN1 input.

Random

Using the Random expression function performs the Exp function using the two numeric data type values and
returns a numeric value.

Where Located

The Random expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Random expression function auto-populates the following string into the expression string:

308 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Random({number},{number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Random(1,10))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Random
expression function:
FILLIN2 = (Random(1,10))
The expression above would be processed when leaving the FILLIN1 input, and a random number between 1
and 10 would be populated in the FILLIN2 input.

Remainder

Using the Remainder expression function performs the Modulo operator using the two numeric data type
values and returns a numeric value.

Where Located

The Remainder expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Remainder expression function auto-populates the following string into the expression string:
{number} Modulo {number}

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (FILLIN1 Modulo FILLIN2)

Epicor ERP | 9.05.702 309


Expression Builder Functions Configurator Technical Reference Guide

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Remainder
expression function:
FILLIN3 = (FILLIN1 Modulo FILLIN2)
If the value 13 is entered in the FILLIN1 input and the value 5 is entered in the FILLIN2 input, the expression above
would be processed when leaving the FILLIN2 input, and the resulting value of 3 would be populated in the
FILLIN3 input (13 / 5 = 2 with a remainder of 3).

Round

Using the Round expression function performs the Round function using the two numeric data type values and
returns a numeric value.

Where Located

The Round expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Round expression function auto-populates the following string into the expression string:
Round({number},0)

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Round(FILLIN1,2))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Round
expression function (2 being the decimal precision):
FILLIN2 = (Round(FILLIN1,2))
If the value 13.755 is entered in the FILLIN1 input, the expression above would be processed when leaving the
FILLIN1 input, and the resulting value of 13.76 would be populated in the FILLIN2 input. If you wish for FILLIN2
to be an integer, enter FILLIN2 = (Round(FILLIN1,0).

310 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Secant

Using the Secant expression function calculates the Secant of a Numeric type value and returns a logical numeric
result.

Where Located

The Secant expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Secant expression function auto-populates the following string into the expression string:
SEC({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (SEC(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Secant
expression function:
FILLIN2 = (SEC(FILLIN1))
If the value 100 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of -5.76 would be populated in the FILLIN2 input.

Set Next Input Page

The Set Next Input Page expression function allows you to set the next input page in a product configuration.
It is executed when paging forward through a configuration.
The numeric data type value that is passed to this function is the next input page displayed to a user.

Epicor ERP | 9.05.702 311


Expression Builder Functions Configurator Technical Reference Guide

Where Located

The Set Next Input Page expression function can only be added to the On Leave expressions at the page level
(located on the Page Detail sheet in Product Configurator).

Proper Syntax

The Set Next Input Page expression function auto-populates the following string into the expression string:
SetNextInputPage({number})

Resulting Data Type

PageAssignment

Logic/Algorithms

(SetNextInputPage(5))

Example

The following On Leave expression is added to the first input page using the Set Next Input Page expression
function:
(SetNextInputPage(5))
When selecting the next page button during the configuration process, it displays input page 5 and skips any
input pages that may have been defined between the first input page and the fifth input page. Settings in other
Product Configurator sheets determine whether the skipped pages should invoke On Leave logic or not.

Set Part Number

In a multi-company enterprise configuration environment, the Set Part Number expression can be used when
defining structure rules in a Sales company. They can be defined to perform part number "swaps"; this works
in a manner similar to how Set Field method rules perform similar part number swaps for subassembly configured
parts in a single company environments.
When structure rules are processed during an actual Configuration session in the Sales company, the Epicor
application determines if a Set Part Number structure rule function has been defined for the subassembly. It then
swaps out the 'dummy' part number from the structure definition with an actual configured part; this is the
actual part number that is displayed when the part is configured in the external Sales company.
Manufacturing Company
For example, when a top level configured part (that contains subassembly configured parts) is configured in the
Manufacturing company, the Epicor application uses the Method of Manufacture (MOM) defined in the Engineering
Workbench to determine what subassembly configured parts need to be displayed. It also processes any applicable
method rules defined in the Configurator Designer, and applies the associated Keep When and Set Field rules
(among others) to the determine the actual material content of the configured item being manufactured.
• In this environment, when this configured part is defined as an Enterprise Configurator part (by selecting the
Enterprise Configurator checkbox on the Configurator Designer > Status sheet), it designates that the part
can also be configured in an external Sales company.

312 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Note Subassembly configured parts must also be defined as enterprise configurator parts.

• Since the Method of Manufacture (MOM) and method rules defined in the Manufacturing company are not
exported to the external Sales company, the Epicor application cannot determine if any configured
subassemblies needs to be displayed when the part is actually configured in the Sales company.
• Hence, the Sales company must use structure definitions to determine the subassembly configured parts that
need to be displayed. The Epicor application must then process these structure rules to properly process and
determine placeholder functionality.
In order to do this, once you have designated the configured part (and its associated subassembly configured
parts) as an enterprise configurator in the Manufacturing company, you must run the Refresh Structure
Definitions selection on the Configurator Designer > Actions menu. This is only used when designing a
configurator that is going to be used in external sales companies (enterprise configurator).
Refresh Structure Definitions identifies and defines a list of subassembly configured parts that need to be displayed
during the configuration session in the Sales companies. It processes through all levels of the configuration,
determines all the subassembly configured parts that were previously defined in Engineering Workbench and
create structure definitions. Structure rules must be then created (in the Configurator Designer > Structure Rules
sheet) against the structure definitions for each subassembly configured part.
• You do this by selecting the structure definitions for the desired subassembly configurations in the Tree view
in the Configurator Designer > Structure Rules sheet.
• Once a structure definition has been selected, the New Structure Rule option is available in the toolbar. You
then the select Set Part Number option in the Expression Builder to create a rules that swaps out the
placeholder part number and displays a different subassembly configured part. These structure rules are similar
Keep When and Set Field method rules defined in a single-company configurator environment to determine
what subassembly configured parts should be displayed.
• Once the structure definitions have been generated and corresponding structure rules have been defined in
the Manufacturing company, they are exported to external Sales companies using the Enterprise Configurator
Sync or Enterprise Configurator Direct processes.
Sales Company
When imported structure rules are processed during an actual Configuration session in the Sales company, the
Epicor application determines if a structure rule (containing a Set Part Number expression) has been defined
for a subassembly and it processes the rule expression. If the conditions of the rule are satisfied, the Epicor
application replaces the placeholder subassembly part number with the part number specified in the rule expression;
this is the actual part number that is displayed when the part is configured in the external Sales company.

Set Previous Input Page

The Set Previous Input Page expression function allows you to set the previous input page in a product
configuration. It is executed when paging backward through a configuration.
The numeric data type value that is passed to this function is the previous input page displayed to a user.

Epicor ERP | 9.05.702 313


Expression Builder Functions Configurator Technical Reference Guide

Where Located

The Set Next Input Page expression function can only be added to the On Leave expressions at the page level
(located on the Page Detail sheet in Product Configurator).

Proper Syntax

The Set Next Input Page expression function auto-populates the following string into the expression string:
SetPrevInputPage({number})

Resulting Data Type

PageAssignment

Logic/Algorithms

(SetPrevInputPage(2))

Example

The following On Leave expression is added to the last input page using the Set Previous Input Page expression
function:
(SetPrevInputPage(2))
If the last input page is currently being displayed, when the previous page button is selected, it displays input
page 2 and skips any input pages that may have been defined between input page 2 and the last input page.

Sine

Using the Sine expression function calculates the Sine of a numeric data type and returns a value.

Where Located

The Sine expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Sine expression function auto-populates the following string into the expression string:
SIN({number})

Resulting Data Type

Value

314 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Logic/Algorithms

FILLIN2 = (SIN(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Sine expression
function:
FILLIN2 = (SIN(FILLIN1))
If the value 100 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of .17 would be populated in the FILLIN2 input.

Smaller of Two Numbers

Using the Smaller of Two Numbers expression function performs the Minimum function using the two numeric
data type values and returns a numeric value.

Where Located

The Smaller of Two Numbers expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Smaller of Two Numbers expression function auto-populates the following string into the expression string:
Minimum({number},{number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (Minimum(FILLIN1,FILLIN2))

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Smaller of
Two Numbers expression function:
FILLIN3 = (Minimum(FILLIN1,FILLIN2))
If the value 6 is entered in the FILLIN1 input and the value of 10 is entered in the FILLIN2 input, the expression
above would be processed when leaving the FILLIN2 input, and the resulting numeric value of 6 would be
populated in the FILLIN3 input.

Epicor ERP | 9.05.702 315


Expression Builder Functions Configurator Technical Reference Guide

Square Root

Using the Square Root expression function performs the Sqrt function using the numeric data type value and
returns a numeric value.

Where Located

The Square Root expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Square Root expression function auto-populates the following string into the expression string:
SQRT({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (SQRT(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Square Root
expression function:
FILLIN2 = (SQRT(FILLIN1))
If the value 81 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of 9 would be populated in the FILLIN2 input.

String Constant/Field/Input/Calculation

Using the String Constant/Field/Input/Calculation expression function allows entry of the following values
into the expression string.
• String Constant
• Field
• Input
• Calculation

316 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Where Located

The Numeric Constant/Field/Input/Calculation expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Numeric Constant/Field/Input/Calculation expression function auto-populates the following string into the
expression string:
{number}

Resulting Data Type

Numeric

Examples

Example 1 - String Constant


FILLIN1 = "No Selection", where FILLIN1 is a string input.

Example 2 - Field
DescText = JobAsmbl.Description
Description is a field in the JobAsmbl database table.

Example 3 - String Input


JobAsmbl.Character01 = Editor-1
Editor-1 is an input field used in the configuration Q & A session.

Example 4 - Calculation
JobAsmbl.Character02 = chrSpecification
chrSpecification is a Calculation field that is defined using a Calculation rule function. Refer to Use of Rules
Types in Rules Processing for more details.

Strings Equal

Using the Strings Equal expression function returns a logical result after processing the expression between two
string data type values.

Where Located

The Strings Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Strings Equal expression function auto-populates the following string into the expression string:

Epicor ERP | 9.05.702 317


Expression Builder Functions Configurator Technical Reference Guide

{string} = {string}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 = FILLIN2)

Example

Character inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Strings
Equal expression function:
TOGGLEBOX1 = (FILLIN1 = FILLIN2)
If the value entered in FILLIN1 is equal to the value entered in FILLIN2, the resulting value of the expression above
would be true when leaving the FILLIN2 input, and the TOGGLEBOX1 check box would be selected. If the value
entered in FILLIN1 isn't equal to the value entered in FILLIN2, the TOGGLEBOX1 check box would be cleared.

Strings Greater or Equal

Using the Strings Greater or Equal expression function returns a logical result after processing the expression
between two string data type values.

Where Located

The Strings Greater or Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Strings Greater or Equal expression function auto-populates the following string into the expression string:
{string} >= {string}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 >= FILLIN2)

318 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Example

Character inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Strings
Greater or Equal expression function:
TOGGLEBOX1 = (FILLIN1 >= FILLIN2)
If the value entered in FILLIN1 is greater than or equal to the value entered in FILLIN2, the resulting value of the
expression above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2
input. If the value entered in FILLIN1 isn't greater than or equal to the value entered in FILLIN2, the TOGGLEBOX1
check box would be cleared.

Strings Greater Than

Using the Strings Greater Than expression function returns a logical result after processing the expression
between two string data type values.

Where Located

The Strings Greater Than expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Strings Greater Than expression function auto-populates the following string into the expression string:
{string} > {string}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 > FILLIN2)

Example

Character inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Strings
Greater Than expression function:
TOGGLEBOX1 = (FILLIN1 > FILLIN2)
If the value entered in FILLIN1 is greater than the value entered in FILLIN2, the resulting value of the expression
above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2 input. If the
value entered in FILLIN1 isn't greater than the value entered in FILLIN2, the TOGGLEBOX1 check box would be
cleared.

Epicor ERP | 9.05.702 319


Expression Builder Functions Configurator Technical Reference Guide

Strings Less or Equal

Using the Strings Less or Equal expression function returns a logical result after processing the expression
between two string data type values.

Where Located

The Strings Less or Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Strings Less or Equal expression function auto-populates the following string into the expression string:
{string} <= {string}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 <= FILLIN2)

Example

Character inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Strings
Less or Equal expression function:
TOGGLEBOX1 = (FILLIN1 <= FILLIN2)
If the value entered in FILLIN1 is less than or equal to the value entered in FILLIN2, the resulting value of the
expression above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2
input. If the value entered in FILLIN1 isn't less than or equal to the value entered in FILLIN2, the TOGGLEBOX1
check box would be cleared.

320 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Strings Less Than

Using the Strings Less Than expression function returns a logical result after processing the expression between
two string data type values.

Where Located

The Strings Less Than expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Strings Less Than expression function auto-populates the following string into the expression string:
{string} < {string}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 < FILLIN2)

Example

Character inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Strings
Less Than expression function:
TOGGLEBOX1 = (FILLIN1 < FILLIN2)
If the value entered in FILLIN1 is less than the value entered in FILLIN2, the resulting value of the expression above
would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2 input. If the value
entered in FILLIN1 isn't less than the value entered in FILLIN2, the TOGGLEBOX1 check box would be cleared.

Epicor ERP | 9.05.702 321


Expression Builder Functions Configurator Technical Reference Guide

Strings Not Equal

Using the Strings Not Equal expression function returns a logical result after processing the expression between
two string data type values.

Where Located

The Strings Not Equal expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Strings Not Equal expression function auto-populates the following string into the expression string:
{string} <> {string}

Resulting Data Type

Logical

Logic/Algorithms

TOGGLEBOX1 = (FILLIN1 <> FILLIN2)

Example

Character inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN2, updating the value of TOGGLEBOX1 using the Strings
Not Equal expression function:
TOGGLEBOX1 = (FILLIN1 <> FILLIN2)
If the value entered in FILLIN1 is not equal to the value entered in FILLIN2, the resulting value of the expression
above would be true, and the TOGGLEBOX1 check box would be selected when leaving the FILLIN2 input. If the
value entered in FILLIN1 is equal to the value entered in FILLIN2, the TOGGLEBOX1 check box would be cleared.

322 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Substring

Using the Substring expression function performs the Substring function on the string data type value, using
the first numeric data type value as the starting position, and the second numeric data type value as the length
of the substring. It extracts a portion of a character string from a field or variable.

Where Located

The Substring expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Substring expression function auto-populates the following string into the expression string:
Substring({string},Integer({number}),Integer({number}))

Resulting Data Type

String

Logic/Algorithms

FILLIN2 = (Substring(FILLIN1,Integer(1),Integer(3)))

Example

Character inputs FILLIN1, FILLIN2 and Check box input TOGGLEBOX1 have been added to a configurator input
page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Substring
expression function:
FILLIN2 = (Substring(FILLIN1,Integer(1),Integer(3)))
If the value ABCDEF is entered in the FILLIN1 input, the expression above would be processed when leaving the
FILLIN1 input, and the resulting string value of ABC would be populated in the FILLIN3 input.

Subtract

Using the Subtract expression function subtracts a Numeric type value from another Numeric type value and
returns a numerical result.
Note the following:
• Subtracting one Decimal expression from another produces a Decimal value.
• Subtracting one Integer expression from another produces an Integer value.
• Subtracting an integer expression (Integer or INT64) from a decimal expression (or subtracting a decimal
expression from an integer expression) produces a Decimal value.
• Subtracting a mix of Integer and INT64 expressions produces an INT64 value.

Epicor ERP | 9.05.702 323


Expression Builder Functions Configurator Technical Reference Guide

Where Located

The Subtract expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Subtract expression function auto-populates the following string into the expression string:
{number} - {number}

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN3 = (FILLIN1 - FILLIN2)

Example

Decimal inputs FILLIN1, FILLIN2 and FILLIN3 have been added to a configurator input page.
The following On Leave expression is added to FILLIN2, updating the input value of FILLIN3 using the Subtract
expression function:
FILLIN3 = (FILLIN1 - FILLIN2)
If the value 10 is entered in the FILLIN1 input and the value 6 is entered in the FILLIN2 input, the expression above
would be processed when leaving the FILLIN2 input, and the resulting value of 4 would be populated in the
FILLIN3 input.

Subtract Days from Date Value

Using the Subtract Days from Date Value expression function subtracts a Numeric type value from a Date
type value and returns a Date result. It subtracts a number of days from a date to produce a date result, or
subtracts one date from another to produce an Integer result that represents the number of days between two
dates.

Where Located

The Subtract Days from Date Value expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Subtract Days from Date Value expression function auto-populates the following string into the expression
string:
{date} - {number}

324 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Resulting Data Type

Date

Logic/Algorithms

FILLIN2 = (FILLIN1 - 5)

Example

Date inputs FILLIN1 and FILLIN1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Subtract
Days from Date Value expression function:
FILLIN2 = (FILLIN1 - 5)
If the value 12/06/2008 is entered in the FILLIN1 input, the expression above would be processed when leaving
the FILLIN1 input, and the resulting value of 12/01/2008 would be populated in the FILLIN2 input.

Tangent

Using the Tangent expression function calculates the Tangent of the numeric data type value and returns a
numeric value.

Where Located

The Tangent expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Tangent expression function auto-populates the following string into the expression string:
TAN({number})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (TAN(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Tangent
expression function:

Epicor ERP | 9.05.702 325


Expression Builder Functions Configurator Technical Reference Guide

FILLIN2 = (TAN(FILLIN1))
If the value 20 is entered in the FILLIN1 input, the expression above would be processed when leaving the FILLIN1
input, and the resulting value of .36 would be populated in the FILLIN2 input.

Truncate

Using the Truncate expression function performs the Truncate function to truncate a numeric data type value,
and returns a Decimal numeric value result.

Where Located

The Truncate expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Truncate expression function auto-populates the following string into the expression string:
Truncate({number},0)

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Truncate(FILLIN1,2))

Example

Decimal inputs FILLIN1 and FILLIN1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Truncate
expression function (2 being the number of decimal places):
FILLIN2 = (Truncate(FILLIN1,2))
If the value 12.34567 is entered in the FILLIN1 input, the expression above would be processed when leaving the
FILLIN1 input, and the resulting value of 12.34 would be populated in the FILLIN2 input. Please note that truncation
does not yield the same results as rounding; rounding this value to two decimal places yields a result of 12.35.

326 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Expression Builder Functions

Year Value

Using the Year Value expression function performs the Year Value function on the Date data type value and
returns a numeric value result. It evaluates a date expression and returns the year value of that date (including
the century) as an Integer value.

Where Located

The Year Value expression function can be added as an On Leave or Rule expression.

Proper Syntax

The Year Value expression function auto-populates the following string into the expression string:
Year({date})

Resulting Data Type

Numeric

Logic/Algorithms

FILLIN2 = (Year(FILLIN1))

Example

Decimal inputs FILLIN1 and FILLIN1 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the value of FILLIN2 using the Year Value
expression function:
FILLIN2 = (Year(FILLIN1))
If the date entered in FILLIN1 is 12/02/2008, the expression above would be processed when leaving the FILLIN1
input, and the resulting numeric value of 2008 would be populated in the FILLIN2 input.

Epicor ERP | 9.05.702 327


Context Functions Configurator Technical Reference Guide

Context Functions

This section details context functions that have been developed by Epicor for use when defining a part
configuration. It contains descriptive information, where the context function can be added, proper syntax,
resulting data type, logic/algorithms and examples for each function.
Context functions can be used in expressions for pricing, Prompt When, On Leave and Dynamic List processing.
These functions are valuable if numbers from the quote, order, job, purchase order or demand order are being
used as part of the configuration. As a result of using these functions, a configuration can behave differently if
on a quote from how it would if on an order, job, purchase order or demand order.
Note that many of these functions can be used both as Rule expressions and as On Leave expressions in the
Configurator, but they auto-populate with different strings depending on where they are added. For example,
the Current Job Number function can be added as an On Leave or Rule expression. However, the method in
which this function displays is dependent on where it is entered.
• The Epicor application executes On Leave expressions when you enter values into a Configurator Input Screen
you have designed, while it executes Rule expressions when you use the Get Detail functions in
Opportunity/Quote Entry or Job Entry.
• These "multiple -use" functions return the same result but the code that is processed in the background is
different due to the fact that they call different functions in the generated rule programs to achieve the same
result. It displays as GetCurrentJobNum() when added to an On Leave expression, but displays as
GetRuleCurrentJobNum(CurrentTableName,CurrentInRowID) when added to a Rule expression.

Current Configuration Mode

The Current Configuration Mode function returns a string value depending on where the part is currently
being configured.
It then returns the following values:
• Job - If the part is being configured in Job Entry.
• Quote - If the part is being configured in Quote Entry.
• Order - If the part is being configured in Order Entry.
• Test - If the part is being configured is being configured by selecting Test Inputs or Test Rules within Product
Configurator.

Where Located

The Current Configuration Mode function can be added as an On Leave expression.

Proper Syntax

The Current Configuration Mode function auto-populates the following string into the On Leave expression
string:
GetContextMode()

328 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Context Functions

Resulting Data Type

String

Logic/Algorithms

GetContextMode()

Example

Character inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Configuration Mode context function:
IF (GetContextMode()) = "JOB" THEN FILLIN2 = "ABC"
When leaving the FILLIN1 input, the expression above would be processed. If the part is being configured in Job
Entry, the value of "ABC" would be populated in the FILLIN2 input.

Current Company

The Current Company function returns a string value of the current company ID.

Where Located

The Current Company function can be added as an On Leave or Rule expression.


The Current Company function can be added as an On Leave or Rule expression.

Proper Syntax

The Current Company function auto-populates the following string into the On Leave or Rule expression string:
GetCurrentCompany()

Resulting Data Type

String

Logic/Algorithms

GetCurrentCompany()

Example

Character inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Company context function:

Epicor ERP | 9.05.702 329


Context Functions Configurator Technical Reference Guide

IF (GetCurrentCompany()) = "YourCompany" THEN FILLIN2 = "ABC"


When leaving the FILLIN1 input, the expression above would be processed. If the value returned from the
GetCurrentCompany() function is equal to "YourCompany", the value of "ABC" would be populated in the
FILLIN2 input.

Current Job Number

If you are configuring the part in Job Entry, the Current Job Number function returns a string value of the
current job number.

Where Located

The Current Job Number function can be added as an On Leave or Rule expression.

Proper Syntax

The method in which the Current Job Number function displays is dependent on where it is entered:
• It displays as GetCurrentJobNum() when added to an On Leave expression.
• It displays as GetRuleCurrentJobNum(CurrentTableName,CurrentInRowID) when added to a Rule
expression.

Resulting Data Type

String

Logic/Algorithms

GetCurrentJobNum()
GetRuleCurrentJobNum()

Example

The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current Job
Number context function:
FILLIN2 = (GetCurrentJobNum())
When leaving the FILLIN1 input, the expression above would be processed and the current job number would
be assigned to the FILLIN2 input. This rule function is also useful to retrieve information from one of the current
job records. The following expression is added to FILLIN1:
find JobHead where JobHead.Company = "YourCompany"
JobNum = (GetCurrentJobNum()) no-lock no-error.
if available JobHead then
assign FILLIN2 = JobHead.PartDescription.
When leaving the FILLIN1 input, the expression above would be processed, and the Part Description from the
current JobHead record would be assigned to the FILLIN2 input.

330 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Context Functions

Current Order Number

If you are configuring the part in Order Entry, the Current Order Number function returns a numeric value of
the current order number.

Where Located

The Current Order Number function can be added as an On Leave or Rule expression.

Proper Syntax

The method in which the Current Order Number function displays is dependent on where it is entered:
• It displays as GetCurrentOrderNum() when added to an On Leave expression.
• It displays as GetRuleCurrentOrderNum(CurrentTableName,CurrentInRowID) when added to a Rule
expression.

Resulting Data Type

Numeric

Logic/Algorithms

GetCurrentOrderNum()
GetRuleCurrentOrderNum(CurrentTableName,CurrentInRowID)

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Order Number context function:
FILLIN2 = (GetCurrentOrderNum())
When leaving the FILLIN1 input, the expression above would be processed and the current order number would
be assigned to the FILLIN2 input. This rule function is also useful to retrieve information from one of the current
order records. The following expression is added to FILLIN1:
find OrderHed where OrderHed.Company = "YourCompany"
OrderNum = (GetCurrentOrderNum()) no-lock no-error.
if available OrderHed then
assign FILLIN2 = OrderHed.CustNum.
When leaving the FILLIN1 input, the expression above would be processed and the customer number from the
current OrderHed record would be assigned to the FILLIN2 input.

Epicor ERP | 9.05.702 331


Context Functions Configurator Technical Reference Guide

Current Order Line

If you are configuring the part in Order Entry, the Current Order Line function returns a numeric value of the
current order line number.

Where Located

The Current Order Line function can be added as an On Leave or Rule expression.

Proper Syntax

The method in which the Current Order Line function displays is dependent on where it is entered:
• It displays as GetCurrentOrderLine() when added to an On Leave expression.
• It displays as GetRuleCurrentOrderLine(CurrentTableName,CurrentInRowID) when added to a Rule
expression.

Resulting Data Type

Numeric

Logic/Algorithms

GetCurrentOrderLine()
GetRuleCurrentOrderLine()

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Order Line context function:
FILLIN2 = (GetCurrentoOrderLine())
When leaving the FILLIN1 input, the expression above would be processed and the current order line would be
assigned to the FILLIN2 input. This rule function is also useful to retrieve information from one of the current
order line record. The following expression is added to FILLIN1:
find OrderDtl where OrderDtl.Company = "YourCompany"
OrderNum = (GetCurrentOrderNum())
and OrderDtl.OrderLine = (GetCurrentOrderLine()) no-lock no-error.
if available OrderDtl then
assign FILLIN2 = OrderDtl.LineDesc.
When leaving the FILLIN1 input, the expression above would be processed and the order line description from
the current OrderDtl record would be assigned to the FILLIN2 input.

332 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Context Functions

Current Plant

The Current Plant function returns a string value of the current plant ID.

Where Located

The Current Plant function can be added as an On Leave or Rule expression.

Proper Syntax

The Current Plant function auto-populates the following string into the On Leave or Rules expression string:
GetCurrentPlant()

Resulting Data Type

String

Logic/Algorithms

GetCurrentPlant()

Example

Character inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Plant context function:
IF (GetCurrentPlant()) = "YourCurrentPlant" THEN FILLIN2 = "ABC"
When leaving the FILLIN1 input, the expression above would be processed. If the value returned from the
GetCurrentPlant() function is equal to "YourCurrentPlant", the value of "ABC" would be populated in the FILLIN2
input.

Epicor ERP | 9.05.702 333


Context Functions Configurator Technical Reference Guide

Current Quote Number

If you are configuring the part in Quote Entry, the Current Quote Number function returns a numeric value of
the current quote number.

Where Located

The Current Quote Number function can be added as an On Leave or Rule expression.

Proper Syntax

The method in which the Current Quote Number function displays is dependent on where it is entered:
• It displays as GetCurrentQuoteNum() when added to an On Leave expression.
• It displays as GetRuleCurrent Quote Num(CurrentTableName,CurrentInRowID) when added to a Rule
expression.

Resulting Data Type

Numeric

Logic/Algorithms

GetCurrentQuoteNum()
GetRuleCurrentQuoteNum(CurrentTableName,CurrentInRowID)

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Quote Number context function:
FILLIN2 = (GetCurrentQuoteNum())
When leaving the FILLIN1 input, the expression above would be processed and the current quote number would
be assigned to the FILLIN2 input. This rule function is also useful to retrieve information from one of the current
quote records. The following expression is added to FILLIN1:
find QuoteHed where QuoteHed.Company = "YourCompany"
OrderNum = (GetCurrentQuoteNum()) no-lock no-error.
if available QuoteHed then
assign FILLIN2 = QuoteHed.CustNum.
When leaving the FILLIN1 input, the expression above would be processed and the customer number from the
current QuoteHed record would be assigned to the FILLIN2 input.

334 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Context Functions

Current Quote Line

If you are configuring the part in Quote Entry, the Current Quote Line function returns a numeric value of the
current quote line number.

Where Located

The Current Quote Line function can be added as an On Leave or Rule expression.

Proper Syntax

The method in which the Current Quote Line function displays is dependent on where it is entered:
• It displays as GetCurrentQuoteLine() when added to an On Leave expression.
• It displays as GetRuleCurrentQuoteLine(CurrentTableName,CurrentInRowID) when added to a Rule
expression.

Resulting Data Type

Numeric

Logic/Algorithms

GetCurrentQuoteLine()
GetRuleCurrentQuoteLine(CurrentTableName,CurrentInRowID)

Example

Decimal inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
Quote Line context function:
FILLIN2 = (GetCurrentQuoteLine())
When leaving the FILLIN1 input, the expression above would be processed and the current quote line would be
assigned to the FILLIN2 input. This rule function is also useful to retrieve information from one of the current
quote line record. The following expression is added to FILLIN1:
find QuoteDtl where QuoteDtl.Company = "YourCompany"
OrderNum = (GetCurrentQuoteNum())
and QuoteDtl.OrderLine = (GetCurrentQuoteLine()) no-lock no-error.
if available QuoteDtl then
assign FILLIN2 = QuoteDtl.LineDesc.
When leaving the FILLIN1 input, the expression above would be processed and the quote line description from
the current QuoteDtl record would be assigned to the FILLIN2 input.

Epicor ERP | 9.05.702 335


Context Functions Configurator Technical Reference Guide

Current Assembly Sequence

The Current Assembly Sequence function returns the assembly sequence of the current record that is being
processed when using the Get Details sheet in Job Entry or Quote Entry.

Where Located

The Current Assembly Sequence function can be added as a Rule expression.

Proper Syntax

The Current Assembly Sequence function auto-populates the following string into the Rules expression editor:
GetRuleCurrentAsmblSeq(CurrentTableName,CurrentInRowID)

Resulting Data Type

Numeric

Logic/Algorithms

GetRuleCurrentAsmblSeq(CurrentTableName,CurrentInRowID)

Example

A numeric calculation rule is created for the material on Assembly Sequence 2, material 10 of the Method of
Manufacture for a configured part using the following syntax:
GetRuleCurrentAsmblSeq(CurrentTableName,
When using the Get Details sheet in Quote Entry or Job Entry, the expression above would be processed and the
value of 2 would be assigned to the numeric calculation rule.

Current Material Sequence

The Current Material Sequence function returns the material sequence of the current record that is being
processed when using the Get Details sheet in Job Entry or Quote Entry.

Where Located

The Current Material Sequence function can be added as a Rule expression.

Proper Syntax

The Current Material Sequence function auto-populates the following string into the Rules expression editor:
GetRuleCurrentMtlSeq(CurrentTableName,CurrentInRowID)

336 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Context Functions

Resulting Data Type

Numeric

Logic/Algorithms

GetRuleCurrentMtlSeq(CurrentTableName,CurrentInRowID)

Example

A numeric calculation rule is created for the material on Assembly Sequence 2, material 10 of the Method of
Manufacture for a configured part:
GetRuleCurrentMtlSeq(CurrentTableName,CurrentInRowID)
When using the Get Details sheet in Quote Entry or Job Entry, the expression above would be processed and the
value of 10 would be assigned to the numeric calculation rule.

Current Operation Detail Sequence

The Current Operation Detail Sequence function returns the operation detail sequence of the current record
that is being processed when using the Get Details sheet in Job Entry or Quote Entry.

Where Located

The Current Material Sequence function can be added as a Rule expression.

Proper Syntax

The Current Material Sequence function auto-populates the following string into the Rules expression editor:
GetRuleCurrentOpDtlSeq(CurrentTableName,CurrentInRowID)

Resulting Data Type

Numeric

Logic/Algorithms

GetRuleCurrentOpDtlSeq(CurrentTableName,CurrentInRowID)

Example(s)

A numeric calculation rule is created for the operation detail on Assembly Sequence 0, Operation Sequence 10,
Operation Detail Sequence 20 of the Method of Manufacture for a configured part:
GetRuleCurrentOpDtlSeq(CurrentTableName,CurrentInRowID)
When using the Get Details sheet in Quote Entry or Job Entry, the expression above would be processed and the
value of 20 would be assigned to the numeric calculation rule.

Epicor ERP | 9.05.702 337


Context Functions Configurator Technical Reference Guide

Current Operation Sequence

The Current Operation Sequence function returns the operation sequence of the current record that is being
processed when using the Get Details sheet in Job Entry or Quote Entry.

Where Located

The Current Operation Sequence function can be added as a Rule expression.

Proper Syntax

The Current Operation Sequence function auto-populates the following string into the Rules expression editor:
GetRuleCurrentOperSeq(CurrentTableName,CurrentInRowID)

Resulting Data Type

Numeric

Logic/Algorithms

GetRuleCurrentOperSeq(CurrentTableName,CurrentInRowID)

Example(s)

A numeric calculation rule is created for the operation detail on Assembly Sequence 0, Operation Sequence 40
of the Method of Manufacture for a configured part:
GetRuleCurrentOperSeq(CurrentTableName,CurrentInRowID)
When using the Get Details sheet in Quote Entry or Job Entry, the expression above would be processed and the
value of 40 would be assigned to the numeric calculation rule.

Current User ID

The Current User ID function returns a string value of the current user ID.

Where Located

The Current User ID function can be added as an On Leave or Rule expression.

Proper Syntax

The Current User ID function auto-populates the following string into the Rules expression string:
GetCurrentUserID()

338 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Context Functions

Logic/Algorithms

GetCurrentUserID()

Example(s)

Character inputs FILLIN1 and FILLIN2 have been added to a configurator input page.
The following On Leave expression is added to FILLIN1, updating the input value of FILLIN2 using the Current
User ID context function:
IF (GetCurrentUserID()) = "SpecificUserID" THEN FILLIN2 = "ABC"
When leaving the FILLIN1 input, the expression above would be processed. If the value returned from the
GetCurrentUserID() function is equal to "SpecificUserID", the value of "ABC" would be populated in the FILLIN2
input.

Epicor ERP | 9.05.702 339


Configurator in Action Configurator Technical Reference Guide

Configurator in Action

Wavy Rider Products

Wavy Rider Products Inc. manufactures a complete line of pontoon boats that include the Bay Dweller, Deck
Buster IO, NottaYacht, Peregrine, Wavy Rider and Wavy Rider Pro models.
These models are manufactured in lengths ranging from 16 through 26 feet.

16-Foot NottaYacht Pontoon Model 26-Foot Deck Buster IO Pontoon Model

Specific pontoon models are designed and intended for use for certain types of water activities - fishing,
family/leisure or water sports. The customer's primary use of the boat has a strong bearing on what type of model
that should be selected, and how it should be configured (that is, what specific options can be selected and
added to the boat during its manufacture). Each model is highly configurable and can contain the following
options and selections:
• Color (Plywood Shell or Vinyl, Oily Shell, Sandstone Shell or Vinyl, Balsam Shell or Vinyl, Misty Balsam Shell,
Onion, Tamarack, Ruby, Salmon, Ocean Mist Green or Arctic Blue)
• Engine size (Inboard or outboard, from 40 to 300 HP)
• Helm Seating (Recliner, Bucket or Love seating arrangements)
• Steering and navigation (Stainless Steel, Burl or Soft Grip)
• Electronics (radios, entertainment and Fish Finders)
Prior to implementing their new Epicor ERP solution, the company made extensive use of Excel spreadsheets and
.csv files to look up and select options suitable for each product. This manual configuration process was very
tedious; it consumed a large amount of time and attention of the Customer Service, Product Engineering and
Manufacturing departments to create realistic, accurate and buildable pontoon boat configurations that suited
their customer's specific needs.
By making extensive use of dynamic lists, external programs and the existing option selection lists, Wavy Rider
Products has developed a highly sophisticated Configurator in their new Epicor ERP solution. It presents an
easy-to-use, interactive configuration process that can be used in the following situations:
• Quoting pricing to prospective customers
• Entering orders for actual customer purchases
• Purchasing component items that require configuration

340 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

• Creating accurate Methods of Manufacture (which specify the exact material content and manufacturing
sequences) when creating jobs for manufacture of the pontoon boats that have been sold
• Creating demand orders from inbound EDI transactions

Wavy Rider Configurator Q&A Input Page

The first step in building a Configurator at Wavy Rider Products was to determine which products should be
combined into a single configurator. The choices were simple:
• One configurator for all pontoon boats, or
• One configurator for each product line, or one configurator for each activity.
Because the options for each product were quite similar, and the methods of manufacturing of all products were
the same, Wavy Rider Product elected to define one configurator for all products.
To make the choices for the sales force easier, the boats were categorized by boating activity. Some models are
available in different sizes and colors. One or more types of engines can be selected for each model. In a limited
range of boat models, a sound system can be built in for the selected pontoon boat. As an additional option, a
standard or GPS-enabled fish finder can be selected, while for other models, a built-in standard or GPS-enabled
model is included as part of the purchase.
The second step in building a configurator was to determine the questions needed to be asked to the user during
the actual configuration session, and determined the valid answers for each of the questions. These include:
• What type of activity the pontoon model is used for?
• What specific model is requested based on the selected activity?
• What is the color selection for the selected pontoon model?
• Is a sound system being installed? If so, what type of sound system?
• Is a fish finder being installed? If so, what type of fish finder?

Epicor ERP | 9.05.702 341


Configurator in Action Configurator Technical Reference Guide

Creating an Options Planning Spreadsheet

For each question a list of valid answers can be compiled, usually it is a good idea to put all the valid combinations
in a spreadsheet before actually building the configurator.
Prior to starting to create the product configuration in the Epicor application, Wavy Rider Products constructed
the following spreadsheet:

The associated configuration input page that Wavy Rider Products decided to construct (see previous page)
included an Activity combo box that prompts for selection of the intended use for the boat (Fishing, Family/Leisure
or Water Sports). A Model combo box was also added that makes extensive use of dynamic lists (and accompanying
programs) for user-selection of the model type (Bay Dweller, Deck Buster IO, NottaYacht, Peregrine, Wavy Rider
and Wavy Rider Pro) from an external list.
The third step is actually creating the input pages for the configurator. Wavy Rider Product elected to create this
configuration process using the following elements:

Creating the Base "Universal" Part and Part Revision

Wavy Rider Products created a single general "CFGPontoon" part that acts as a "placeholder" for subsequent
selection of the boat model, based on its intended use. It included the following parameters:

342 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

Wavy Rider Products created a part revision that included the following parameters:

Creating the Configuration Q&A Input Page

Wavy Rider Products decided to create a configuration Q&A input page that contains ten controls in all - four
combo boxes, three check boxes and a browser.
These are the naming conventions Wavy Rider used for their configurator input controls:

These are some of the controls they created:


• To display full -color pictures of the selected model, they created a Browser type input control (and
accompanying On Leave expression) that is populated with the full-color picture of the selected boat, based
on the model that is selected by the user.
• For selection of other options (color, sound system, steering wheel, engine type/capacity and helm seating),
they made extensive use dynamic lists, an associated program and their existing external lists; these control
display of selectable option sets based on the specified pontoon boat model.
• For some Wavy Rider Products pontoon boat models, customers can add a standard Fish Finder or an upgraded
GPS -enabled Fish Finder. They have elected to create two check boxes (Standard Fish Finder and
GPS-Enabled Fish Finder) for this option selection. Skipping both of the check boxes during a configuration
session indicates that installation of this option should be skipped. Since use of these boxes is conditional

Epicor ERP | 9.05.702 343


Configurator in Action Configurator Technical Reference Guide

upon the type of pontoon boat that was selected, they have also added the appropriate expressions to
associated Prompt When and On Leave rules.
• A check box input was added for selection of a sound system for the selected pontoon model.

Activity Combo Box


These are the parameters Wavy Rider used to create an Activity combo box that asks the user to select the
intended use for the boat (Fishing, Family/Leisure or Water Sports):

This is the Input Rules > Inputs > Detail page definition for the Activity combo box:

Picture Display Browser Control


These are the parameters Wavy Rider used to create a Browser type input control (and accompanying On Leave
expression) that is populated with the full-color picture of the selected boat, based on the model that is selected
by the user:

This is the Input Rules > Inputs > Detail page definition for the picture-display Browser control:

344 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

Model Combo Box Using Dynamic Lists


These are the parameters Wavy Rider used to create a Model combo box that asks the user to select the type
of pontoon boat being purchased.

This is the Input Rules > Inputs > Detail page definition for the Model combo box:

Prior to their implementation of their Epicor ERP solution, Wavy Rider Products maintained an extensive list of
Excel spreadsheets that had been used for selection and configuration of pontoon models, based on their intended
use (family/leisure and water sports). In conjunction with an internally developed program, Wavy Rider Products
can make excellent use of these lists in their new Configurator. This was accomplished using the following dynamic
list parameters:

Epicor ERP | 9.05.702 345


Configurator in Action Configurator Technical Reference Guide

This is the Input Rules > Inputs > Detail > Dynamic Lists > Detail page definition for the Model combo box:

This allows for selection of the model type (NottaYacht, Peregrine, Bay Dweller, Wavy Rider, Wavy Rider Pro or
Deck Buster IO) from the following external models.csv list:

The On Leave trigger for the Model combo box uses a csv file to retrieve the file location of the picture that is
displayed in the browser.
On Leave statement (cmbModel): run c:\epicor\mfgsys803\server\ud\test\filelookup.p
("c:\epicor\mfgsys803\server\ud\pontoon\modeldata.csv" ,"picture",cmbModel,output brwModelPicture).

This allows for selection of the picture of the selected model from the following external modelsdata.csv list. The
selected picture displays in the Picture-Display Browser control.

346 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

Color Combo Box Using Dynamic Lists


Likewise, another dynamic list, using a program and external list was developed for selection of color, based on
the selected pontoon boat model. These are the parameters Wavy Rider used to create a Color combo box that
asks the user to select the color of the pontoon boat being purchased:

This is the Input Rules > Inputs > Detail page definition for the Color combo box:

These are the dynamic list parameters used for this combo box:

Epicor ERP | 9.05.702 347


Configurator in Action Configurator Technical Reference Guide

This is the Input Rules > Inputs > Detail > Dynamic Lists > Detail page definition for the Color combo box:

This allows for selection of the model color from the following external Colors.csv list:

This is the Input Rules > Inputs > Detail page definition for the Motor combo box:

Motor Combo Box Using Dynamic Lists


Another dynamic list, using a program and external list was developed for selection of the motor, based on the
selected pontoon boat model. These are the parameters Wavy Rider used to create a Motor combo box that
asks the user to select the color of the pontoon boat being purchased:

This is the Input Rules > Inputs > Detail page definition for the Motor combo box:

348 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

These are the dynamic list parameters used for this combo box:

This is the Input Rules > Inputs > Detail > Dynamic Lists > Detail page definition for the Motor combo box:

This allows for selection of the motor using the following external UD01 program for loading of external data:

Epicor ERP | 9.05.702 349


Configurator in Action Configurator Technical Reference Guide

In order to use the UD01 table, Wavy Rider added the UD01 program to the Configurator Setup menu using the
Menu Maintenance program:

After refreshing the Main Menu by logging on again, Wavy Rider loaded the following data into the UD 01 table:

Fish Finder (Standard) and GPS Fish Finder Checkboxes


For some Wavy Rider Products pontoon boat models, customers can add a standard Fish Finder or an upgraded
GPS-enabled Fish Finder. They have elected to create two check boxes, Fish Finder (Standard) and GPS Fish
Finder, for this option selection. Skipping both of the check boxes during a configuration session indicates that
installation of this option should be skipped. Since use of these boxes is conditional upon the type of pontoon

350 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

boat that was selected, they have also added the appropriate expressions to associated Prompt When and On
Leave rules.
These are the parameters Wavy Rider used to create the Fish Finder (Standard) check box input control:

This is the Input Rules > Inputs > Detail page definition for the Fish Finder (Standard) check box control:

These are the parameters Wavy Rider used to create the GPS Fish Finder check box input control:

This is the Input Rules > Inputs > Detail page definition for the GPS Fish Finder check box control:

Epicor ERP | 9.05.702 351


Configurator in Action Configurator Technical Reference Guide

Because a customer can select or a GPS Fish Finder, Wavy Rider needed to ensure that if one is selected during
a configuration session, the other one could not be selected. They did this by adding an On Leave statement for
the GPS Fish Finder check box using the following code:

They added the following On Leave statement for the Fish Finder (Standard) check box using the following
code:

A Fish Finder cannot be selected for certain models, and some models already have built-in Fish Finders. Wavy
Rider set the Fish Finder check boxes in the On Leave statement associated with the Model combo box, and set
Prompt When statements for each of the Fish Finder check boxes. They also added the following code to the
Keep When rule for the standard Fish Finder:

They also added the following code to the Keep When rule for the GPS Fish Finder:

Wavy Rider Products also added some additional code to the On Leave trigger of the Model combo box to set
the defaults for the fish finders whenever another model is selected. All Wavy Rider Pro models come equipped
with GPS Fish Finders, and all non-pro Wavy Rider models (those models named Wavy Rider themselves) have
the standard Fish Finders. Instead of having a complex If-Then-Else statement, they have made the statement
more maintainable by storing the base model in a separate input value. This was made invisible to the data entry
operator on the input page. It was created using the following parameters:

This is the Input Rules > Inputs > Detail page definition for the GPS Fish Finder check box control.

352 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

Wavy Rider Products also added the following code to the On Leave trigger of the Model combo box to set the
defaults for the fish finders whenever another model is selected. The If-Then statement is more readable in case
they have to list all Wavy Rider and Wavy Rider Pro models. If in the future, a new Wavy Rider model is added
to the list, the code will still work. By using the Else statement, it made the code perform better and it prevents
verification of the "Wavy Rider" statement when base model is "Wavy Rider Pro".

Sound System Checkbox


These are the parameters Wavy Rider used to create the Sound System check box input control:

This is the Input Rules > Inputs > Detail page definition for the Sound System check box control:

Epicor ERP | 9.05.702 353


Configurator in Action Configurator Technical Reference Guide

The sound system option is only available for a limited list of models, so Wavy Rider Products added a Prompt
When expression for the sound system. They used the lookup function instead of a long if-then statement. The
lookup function lets them add additional models quite easily.

Pricing Logic
The Configurator has standard pricing rules that allow for configuration unit pricing based on the input values
entered for sales orders, quotes, purchase orders or demand orders. However, it also allows use of external csv
files, the ud tables or other tables within Vantage to retrieve price information and use code to calculate the unit
price. The resulting unit price can be transferred to the sales order, quote, purchase order demand order, or the
sales order line, quote line, purchase order line or demand order line can be directly updated. At least one price
input field must be defined in the configuration to store the pricing information. By setting the width and the
height of this input control to zero in the Input Rules > Inputs > Detail sheet, we can make this price field invisible
to the user.
• Certain Wavy Products customers receive discounts based on the customer group to which they are assigned.
For example, customers with a customer group assignment of Silver receive a 3% discount, those belonging
to a Gold customer group receive a 5% discount, and those belonging to a Platinum customer group receive
a 10% discount.
• While this discounting can be set up at the customer level within a Discount field, they have elected to use a
method of assigning logic to the customer group level, making it much more dynamic. It is based on extensive
use of On Leave logic, and hidden input controls that store order number, line number, customer name, and
customer group information for each customer configuration. Based on the stored information, the Epicor
application determines the applicable customer discount percentage and applies it to the selected options
(for example, sound system, steering wheel, engine type/capacity, electronics and helm seating) to calculate
a total discounted price for the selected model.
These are the parameters Wavy Rider used to create the "invisible" input control used to store configuration
pricing:

354 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

This is the Input Rules > Inputs > Detail page definition for the "invisible" input control:

The price calculation for the Wavy Rider configuration is performed in the On Leave trigger defined (on the last
page of the configuration) in the Configurator Designer > Page Detail sheet.

Wavy Rider created On Leave code that defined all variables required in the price calculation. It stores order and
quote information that can be retrieved through context functions in the appropriate variables:

Epicor ERP | 9.05.702 355


Configurator in Action Configurator Technical Reference Guide

Using the information from the context functions, the Wavy Rider configurator can retrieve customer group
information, which is required because some customer groups have a discount. Wavy Rider could not use the
context functions directly in the database queries for performance reasons, and due to some query limitations.

The next section of On Leave code retrieves the model price from the modeldat.csv file that was used earlier to
retrieve the picture information for the models:

The next section of On Leave code retrieves the price information of the sound system and the Fish Finder based
on the unit price of part table:

356 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

The next section of On Leave code retrieves motor price information stored in the ud01 table:

The next section of On Leave code adds all retrieved prices, and calculates the discount based on the assigned
customer group:

Wavy Rider had two options available for placing the price in the sales order or the quote line. The first option
was to store the price into the decPrice input field and use that field in the pricing rules using the following On
Leave code:

To use this code, Wavy Rider added the following rule to the general expression in the Configurator Designer >
Input Rules > Pricing > General > Input Pricing > Order / Quote / Purchase / Demand > Detail sheets:

The second option available to placing the pricing in a sales order or quote line was making use of the Update
Table Buffer program (use this program with caution because it overrides all validations):

Epicor ERP | 9.05.702 357


Configurator in Action Configurator Technical Reference Guide

Smart String and Part Creation Logic


Wavy Rider Products decided they wanted to include part numbers on sales order and quotes, but did not want
to create new part numbers in the Part master database table. They entered the following parameters into the
Product Configuration > Part Creation sheet:

They entered the following parameters into the Product Configuration > Smart String sheet:

358 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

Method of Manufacture and Rules Processing


There are two general methods for creation of the Method of Manufacture - the Super BOM or the Template
BOM.
• The Method of Manufacture for the Super BOM contains all component parts and operations that could
possibly be included to manufacture the configured part, regardless of the actual selected configuration
options. One of the most powerful features of the Configurator is its ability to perform calculations through
formulas, and determine which specific components should be retained in the Method of Manufacture
generated for the configured assembly. This is accomplished through the use of defined Keep When rules.
• The Method of Manufacture for the Template BOM consists of placeholders the Epicor application replaces
(after a configuration session) with the actual assemblies, materials and operations required for the resulting
configured item.
• Refer to the Super BOMs and Template BOMs topic in the Implementation Components and Calculations
section for detailed information.
The Super BOM is easier to setup initially, but the Template BOM is easier to expand and maintain over the
long-term. For small-scale configurations, use of the Super BOM is recommended, while for all other configurations,
use of the Template BOM is recommended. This does not mean that the Keep When rules are not used at all in
Template BOM, but they are only used when it makes sense to do so.
Although the Wavy Rider Products configurator is quite simple, they elected to use the Template BOM method
with some accompanying Keep When rules. To make the configurator example easy to follow, we assume that
the actual boat itself is not manufactured by Wavy Rider Products Inc. In this scenario, they purchase the boats
and add customer-selected options to it. The Method of Manufacture for the pontoons are all alike - they consist
of an Assembly operation and four purchased items (pontoon boat, motor, Fish Finder and sound system). They
used the following parameters to create part master records for the purchased pontoon boat and motor:

Epicor ERP | 9.05.702 359


Configurator in Action Configurator Technical Reference Guide

Using these parameters, they created the following part records in Part Maintenance:

After defining these two parts, they created the initial Method of Manufacture for the CFG-Pontoon base universal
part. They first checked out the revision to an ECO group using the Part Revision Checkout function (accessible
from the Actions menu in Part Maintenance):

360 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

They opened the Engineering Workbench from the Actions menu and added the Assembly operation to the
Method of Manufacture. They also added all required parts (pontoonboat, pontoonmotor, fishfinder01,
soundsystem01 to the method. Each had a quantity per of one.

After defining the Method of Manufacture, they approved the revision in the Engineering Workbench. In Part
Maintenance, they unapproved the revision so they could add the applicable Keep When rules in the Configurator
Designer > Rules sheet. All variables needed in the rules calculations are stored at the Alt node. Rule variables
are called calculation are stored in the Alt mode In the top of the rule method tree.
Wavy Rider defined a string variable for the pontoon part number by adding a new rule at the Alt node, choosing
Calculation and entering PontoonPartNum as the calculation value. Because they only defined the calculation
did not want to store any value, they selected Free Form and entered the required information. It resulted in
the following rule:

Epicor ERP | 9.05.702 361


Configurator in Action Configurator Technical Reference Guide

They then selected Mtl 10 pontoon boat for Opr. 10 and entered the following code in the editor:

After completing this expression, they added a Set Field type rule and selected Job Material in the Expression
editor:

362 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

They then selected PontoonPartNum in the next step of the expression:

It resulted in the following Set Field rules expression:

Epicor ERP | 9.05.702 363


Configurator in Action Configurator Technical Reference Guide

After completing this expression, they added another Set Field type rule and selected Get Part Defaults() in
the Expression editor. When both rules were completed, it resulted in the following assigned rules for the
configuration:

The part numbers are calculated in partnumbers.p at a later stage Wavy Rider Products uses a query in this
program to retrieve the part numbers from the supplier part table. The part numbers are calculated as follows:

364 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

For addition of the selection of the actual motor part number, Wavy Rider only has to replace the placeholder
pontoonmotor part number with the selected motor part number. They accomplished this by adding a Set
Field rule with a Get Part Defaults () expression to retrieve the default values for this material from the part
master.

Epicor ERP | 9.05.702 365


Configurator in Action Configurator Technical Reference Guide

This results in the following rules for Mtl 20 pontoon motor:

Wavy Rider offers two different types of Fish Finders for their pontoon boats - a standard model and a GPS-enabled
model. The Method of Manufacture for the base universal part only contains the standard Fish Finders. Both
types of Fish Finders could have been added to the Method of Manufacture but were not. Wavy Rider Products
expects to replace the two Fish Finders models by more updated models in the future, so they did not want to
add the associated materials and Keep When rules. The Configurator only uses Keep When rules to eliminate
the fish finder completely if none is selected. They made use of the part number replacement function for the
boat and the motor to actually determine the part number.
To determine if there is a Fish Finder, they added a new logical Calculation rule at the Alt level, and also added
a Calculation rule to determine the part number. They added the following logical Calculation rule calculation
for kwFishFinder:

They then added the following logic for the rule:

366 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

They added the following String calculation at the Alt level for FishFinderPartNum:

They then added the following Free Form logic:

Epicor ERP | 9.05.702 367


Configurator in Action Configurator Technical Reference Guide

This resulted in the following Calculation rules at the Alt level:

At Mtl 30 fishfinder01, they added the following Keep When rule and functionality to replace the part number:

368 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

They then added a Set Field rule to replace the part number. This rule also included the GetPartDefaults
function.

This resulted in the following rules at the Mtl 30 fishfinder01 level:

Epicor ERP | 9.05.702 369


Configurator in Action Configurator Technical Reference Guide

For inclusion of the sound system, Wavy Rider Products only needed to create a When rule. However, they chose
to create the following Calculation rule instead because in the future, they may offer many more types of sound
systems with other options. By adding a Calculation rule at the top Alt level, they can easily find the Keep When
code if it needs to be modified in the future to accommodate any new sound system options they may offer.

This resulted in the following at the Alt level:

They then added a Keep When rule at the Mtl 40 soundsystem01 level:

370 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

This resulting in the following rule at the Mtl 40 soundsystem01 level:

Creating a No Input Configurator

In most cases, the Epicor Configurator is used for configuration of products with a large number of options or
highly componentized products. However, it can also be used for standard products with no options at all.
In this case, no or few questions need to be asked of the user. This could be used in the following scenarios:
• A product is normally manufactured on Machine X, but when more than 100 items are needed, Machine Y
would be more efficient.
• Customer ABC needs products manufactured with more precision than other customers. This requires that
the job must run on specific machines and requires an additional inspection.
• A product is always painted in the factory color, but exceptions are made for specific customers. However,
this is not an option that is offered to customers on an order-by-order basis.
• Calculating Setup and Runtimes for manufactured items using Calculation rules.

Epicor ERP | 9.05.702 371


Configurator in Action Configurator Technical Reference Guide

All of the information required to satisfy these scenarios is readily available in the quote or sales order; the
customer information and the quantity are also available.
In the following example, we specify a different color for a frame based on customer ID. The salesperson does
not need to enter any information in the configurator; however, the configurator still needs to be executed to
pass sales order information to the configurator rules engine.

Defining a No Input Configuration

These are the steps that are required to setup up a No Input configurator. First, create a new manufactured,
non-stock base universal part in Part Maintenance (in this case, CFG-NoInputs).

Add a part revision for the base universal part number using New Part Revision, found on the File menu in
Part Maintenance:

Check out the revision to an ECO group using Part Revision Checkout in the Actions menu in Part Maintenance.

372 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

Open the Engineering Workbench in the Actions menu in Part Maintenance. Add a paint operation and an
assembly frame to the Method of Manufacture. When finished, approve the revision in the Engineering Workbench.

After approving the revision in the Engineering Workbench do the following:


• Check-in the revision.
• In Part Maintenance, unapprove the revision again to add configurator information to the part revision.
• Select the Configurator from the Actions menu in Part Maintenance.
• While in the Configurator, click Add New Configuration, then click Add New Page.
Tip Although the sales person will not be asked any questions, we still have to create a page with at least
one input field. If this is not done, the Configurator cannot be executed from Order Entry,
Opportunity/Quote Entry, Job Entry, Purchase Order Entry or Demand Entry. This field stores customer paint
information and passes it through to the defined method rules.

When in the Configurator Designer, select Design Toolbox. Add a Character field called chrPaint with height
and width set to zero, and with blank labels. This makes the input field invisible for the sales person. To operate
the configuration, all the sales person must do is to press the Save button.

Epicor ERP | 9.05.702 373


Configurator in Action Configurator Technical Reference Guide

We can also add a label with the text "Please press save. Thank you" to inform the sales person (during order,
quote, job, purchase order or demand order entry) to press the Save button to "operate" the configurator.

374 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

To direct the configurator to retrieve and store customer information from the sales order (or quote) and store
it in the configurator, the following code must be added in the Configurator Designer - Page Detail sheet. It
defines the variables needed to retrieve the customer information, and to assign the information to each variable.

This code must be added to find the customer number in the sales order or the quote:

This code must be added to find the customer part number, store the paint information in a user-defined field
and assign it to the input field chrPaint. After entering all required code, select the Do not process On Leave
expressions when page loads check box to prevent this code from running twice (on load and on leave) for
performance reasons:

Next, add a rule to the paint operation that informs the painter which color must be used:
• In the tree to the right of the Configurator Designer - Rules sheet, select the Paint operation.
• Add a new Set Field type rule.
• In the Expression Builder, select Job Operation, and then select the CommentText field.
• Click Next and then click Free Form.
• Change the expression to: JobOper.CommentText = "Paint: " + chrPaint.

Epicor ERP | 9.05.702 375


Configurator in Action Configurator Technical Reference Guide

• Save the completed rule.

Add the same rule for the Quote Operation.

Two Method rules should then be defined for the operation:

376 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Configurator in Action

Approve the configurator in the Configurator Designer - Status sheet. After completing the configuration definition,
you can add a quote line into Opportunity/Quote Entry, start the configurator, and use the Get Details command
(on the Actions menu) to view the added paint comment for the operation. If you have customized Customer
Part Maintenance (which can be found on Order Management/Setup) to allow users to add colors in the
Character01 field, you can test if specific customer accounts have specific colors.

Epicor ERP | 9.05.702 377


Appendix: Epicor-Supplied Programs Configurator Technical Reference Guide

Appendix: Epicor-Supplied Programs

Epicor supplies the following standard programs for use in the Program Name field in the Input Rules > Inputs
> Detail > Dynamic Lists > Detail sheet. You can also custom-develop your own external program and accompanying
comma-delimited lists for use with the Configurator.
Refer to Run Program / Program Name / Program Inputs for more details. All Dynamic list programs and all
referenced files must exist on the AppServer for the lists to be valid.
• cv8400belttype.p - Returns a hard-coded listing of values.
• FilelookLabels.p - Returns the label in the first row of a .csv file.
• filelookup.p - Returns the value of one cell of a .csv file.
• Filerowselect.p - Returns a row of the .csv file.
• GetTableData.p - Returns a list of the value of a field of any table in the database.
Tip If the directory structure in which the file is located contains spaces, you must put quotes around the
directory and program name (for example, "c:\Program Files\Test.p") in expressions that reference the
program.

For a complete listing of utility programs, see Configurator Designer - Utility Programs in the Online Help.
In the Program Inputs field, enter the inputs expected by the program specified in the Program Name field.

378 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Index

Index
A cube root 262
current assembly sequence 336
absolute value 252 current company 329
add 253 current configuration mode 328
add days to date value 253 current date 263
additional context functions 97 current job number 330
all values 182 current material sequence 336
allow reconfiguration in PO 181 current operation detail sequence 337
appendix 378 current operation sequence 338
epicor-supplied programs 378 current order line 332
approved / not approved 182 current order number 331
assemblies and subassemblies (materials) 61 current plant 333
automatically create a new part number 184 current quote line 335
automatically mark methods global 185 current quote number 334
available inputs/selected inputs 187 current time 263
available methods 185 current user id 338
available styles 186 customer part number 195

B D
base "universal" part / part revision 54 date constant/field/input/calculation 264
begins 254 dates equal 265
buttons 188 dates greater or equal 266
dates greater than 267
dates less or equal 267
C dates less than 268
calculation 99 dates not equal 269
character value / date value / decimal value / logical value 189 day of month 270
columnname / condition / value 190 day of week 270
combine strings 255 default eco group 196
condition 191 defining a no input configuration 372
configuration in a multi-company enterprise 39 demand entry 197
configuration price processing 35 difference between two dates 271
Configurator concepts and base components 28 digit structure 197
Configurator designer 66 display as time 272
Configurator in action 340 divide 273
Configurator setup (single company environment) 51 do not notify the user if new part number already exists 198
configurator synchronization 44 do not process on leave expressions when page loads 199
context functions 328 don't display input in configuration summary grid 199
convert date to string 256 dynamic list processing 33
convert logical to string 256 dynamic lists and external lookups 49
convert number to string 257
convert string to decimal 258 E
convert string to integer 259
cosecant 260 earlier of two dates 273
cosine 260 end position 200
cotangent 261 enterprise configurator 201
create a new part number at zero cost 192 enterprise configurator direct server process 176
create a new part number for each configuration 193 enterprise configurator server process 176
create a new part number in 194 excellookup 274
create alternative methods 192 exporting configurations 159
create revision 195 expression builder / context functions 93
creating a no input configurator 371 expression builder functions 252
creating an options planning spreadsheet 342
creating the base "universal" part and part revision 342
creating the configuration q&a input page 343

Epicor ERP | 9.05.702 379


Index Configurator Technical Reference Guide

F input rules > page detail 118


input rules > part > creation 130
factorial 276 input rules > part > smart string 136
fieldheight 276 input rules > pricing > general > detail (multi-company) 170
fieldincrement 277 input rules > pricing > general > input pricing > order / quote /
fieldinitialvalue 277 purchase / demand > detail 127
fieldinvisible 278 input rules > prompt when 120
fieldlabel 278 intended audience 26
fieldmaximumdate 279 introduction 26
fieldmaximumdecimal 280 invisible 210
fieldminimumdate 279 invoice comments 210
fieldminimumdecimal 280
fieldrequired 281
fieldsummarylabel 281
J
fieldtooltip 282 job entry 211
fieldvalidlist 282 job/pick list comments 212
fieldwidth 283
fieldxposition 284
fieldyposition 284 K
format (character) 201
format (date) 202 keep when 103
format (decimal) 203
free-form fields 50 L
later of two dates 289
G least common multiple 290
generate method 203 length of string 291
generate methods using resulting quote method 204 lesser of two strings 292
global 205 list items (inputs - detail - dynamic lists) 213
global input variable 206 list items (inputs > detail) 212
global input variables 88 log base e 292
global variable name 207 log base n 293
greater of two numbers 285 logic/algorithms 211
greater of two strings 286 logical and 294
logical constant/field/input/calculation 295
logical expression 296
H logical or 296

how it is organized 26
M
I manufacturing company processing 42
matches 297
if first expression is true return second else third date 287 method of manufacture 58
if first expression is true return second else third number 288 method rules 70
if first expression is true return second else third string 289 method rules > method / rules 143
implementation components and calculations 45 method rules processing 34
import / export configuration 158 minimum, maximum (date) 214
importing configurations 162 minimum, maximum, increment (decimal) 214
information collection for configuration implementation 45 modifiers 181
initial value 208 month of year 298
input and document rules 70 multi-company product configuration - prerequisites and setup
input control display processing 32 166
input name 208 multi-select-controls 72
input name (global input variables) 209 multiplier 215
input rules - pricing - options 124, 168 multiply 299
input rules > document rules 140
input rules > inputs > detail 74
input rules > inputs > detail > dynamic lists > detail / criteria 108 N
input rules > inputs > detail > prompt when 114
input rules > inputs > on leave 116 negate logical expression (not) 300
input rules > on leave 122 negatives 216
input rules > page / design toolbox 72 number of decimals 217
number of digits 218

380 Epicor ERP | 9.05.702


Configurator Technical Reference Guide Index

numbers equal 301 S


numbers greater or equal 302
numbers greater than 303 sales company processing 41
numbers less or equal 304 save input values 232
numbers less than 305 secant 311
numbers not equal 306 selecting a configured part 71
numeric constant/field/input/calculation 306 separator character 233
set field 100
set next input page 311
O set part number 175, 179, 312
on leave and prompt when expression processing 33 set part number only 234
only process dynamic lists with higher tab sequences 218 set previous input page 313
operations 63 setups 166
order entry 219 sine 314
order/quote comments 220 single level configuration 236
other implementation considerations 49 skip page if all inputs are disabled or invisible 237
other prerequisites 166 smaller of two numbers 315
smart string configuration 31, 238
smart string processing 37
P square root 316
start position 239
packing slip comments 220 starting sequence 239
page 221 status 148, 154
page level processing 31 string constant/field/input/calculation 316
page sequence 222 strings equal 317
page title 222 strings greater or equal 318
part creation processing 35 strings greater than 319
part description 223 strings less or equal 320
part maintenance 64 strings less than 321
part/rev 68 strings not equal 322
position and sizing fields (x, y, width and height) 223 structure rules > definition / rules (multi-company) 172
pre-implementation planning 45 substring 323
preface w/ part number 224 subtract 323
price for value 224 subtract days from date value 324
process dynamic lists before on leave expressions for this page super boms versus template boms 46
225 synchronize 240
process input on leave expressions if page is skipped 226 synchronize revision approval 240
product configuration listing 156
program call 102
prompt for checkout 226 T
purpose of this guide 26
tab order 241
tangent 325
Q testing configuration input pages and defining rules 50
the configuration session 28
question & answer input sequence 49 the evaluation process 30
quote entry 228 thousands separator 242
truncate 326
R type (global input variables) 242
type (part) 243
raise to a power 308
random 308
remainder 309
U
remove link from base configured part 229 u sing configuration rules (single company) 69
resources and resource groups 65 update saved input values and set fields in part table 243
round 310 use component pricing 244
rule function 104 use generated method when getting details 246
rule types selection 98 use of configuration rules 43
run baq / baq / display value / input value 229 using a super bom 47
run program / program name / program inputs 230 using a template bom 48

Epicor ERP | 9.05.702 381


Index Configurator Technical Reference Guide

V W
valid list 246 wavy rider configurator q&a input page 341
value 247 wavy rider products 340
verify existing configuration 164 web input name 251
verify existing job configurations 248
verify existing order configurations 249
verify existing quote configurations 250
Y
year value 327

382 Epicor ERP | 9.05.702


Additional information is available at the Education and
Documentation areas of the EPICweb Customer Portal. To access
this site, you need a Site ID and an EPICweb account. To create an
account, go to http://support.epicor.com.

You might also like