TechRefGuide Configurator 100700
TechRefGuide Configurator 100700
TechRefGuide Configurator 100700
Configurator Technical
Reference Guide
10.0.700
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 2014.
All rights reserved. No part of this publication may be reproduced in any form without the prior written consent of
Epicor Software Corporation.
10.0.700
Revision: July 03, 2014 12:06 p.m.
Total pages: 418
sys.ditaval
Contents
Contents
Introduction..........................................................................................................................20
Purpose of this Guide.....................................................................................................................................20
Intended Audience.........................................................................................................................................20
How it is Organized.......................................................................................................................................21
Contents
Example...................................................................................................................................66
Imported CSV List Data Review and Modification.............................................................................68
Configurator Design......................................................................................................................................69
Configurator Designer............................................................................................................................69
Programs and Their Modifiers..........................................................................................................70
On Load, On Loaded, On Complete and On Save Event Expressions........................................................72
Programs and Their Modifiers..........................................................................................................75
Configurator Designer > Page Designer and Toolbox..............................................................................75
Programs and Their Modifiers..........................................................................................................76
Page Designer - Page Level Properties and Actions..................................................................................78
Properties (Page Level).....................................................................................................................79
Programs and Their Modifiers...................................................................................................79
Actions (Page Level).........................................................................................................................81
Programs and Their Modifiers...................................................................................................82
Define a Page Action................................................................................................................83
Page Designer - Input Level Properties and Actions..................................................................................84
Input Properties (Input Level)...........................................................................................................85
Programs and Their Modifiers...................................................................................................86
Browser Control Example.........................................................................................................91
Check Box Control Example.....................................................................................................92
Combo Box Control Example....................................................................................................93
Actions (Input Level)........................................................................................................................95
Define an Input Control Action.................................................................................................96
Logic/Algorithms......................................................................................................................97
Example...................................................................................................................................98
Dynamic Lists Editor................................................................................................................................99
Programs and Their Modifiers........................................................................................................100
Run BAQ................................................................................................................................101
Predefined List........................................................................................................................102
User Defined Method.............................................................................................................104
Data Look Up Method............................................................................................................106
Logic/Algorithms...........................................................................................................................108
Data Row Lookup Method Example...............................................................................................108
Other Dynamic List Examples.........................................................................................................111
Global Input Variables...........................................................................................................................112
General Setup...............................................................................................................................113
Programs and Their Modifiers........................................................................................................114
Logic/Algorithms...........................................................................................................................115
Examples.......................................................................................................................................116
User Defined Methods..........................................................................................................................117
Programs and Their Modifiers........................................................................................................118
Logic/Algorithms...........................................................................................................................120
Example 1.....................................................................................................................................120
Example 2.....................................................................................................................................121
Code Editor..........................................................................................................................................123
Contents
Available Selections.......................................................................................................................124
Functions.......................................................................................................................................125
Operators......................................................................................................................................131
Editor and Hints.............................................................................................................................133
Code Syntax Validation and Error Reporting...................................................................................134
Configurator Settings...................................................................................................................................135
Configurator Rules Overview................................................................................................................135
Document and Pricing Rules.................................................................................................................136
Rule Components..........................................................................................................................137
Programs and Their Modifiers........................................................................................................137
Adding a New Rule Condition................................................................................................138
Adding a New Rule Action.....................................................................................................139
'Set Field' Type Actions..................................................................................................................140
Logic/Algorithms...........................................................................................................................141
Example........................................................................................................................................141
Component Pricing Options..................................................................................................................142
Programs and Their Modifiers........................................................................................................143
Logic/Algorithms...........................................................................................................................144
Document Variables..............................................................................................................................145
Variables Used for Calculations......................................................................................................145
Programs and Their Modifiers........................................................................................................146
Part Creation and Smart String Parameters............................................................................................147
Programs and Their Modifiers........................................................................................................148
Example........................................................................................................................................152
Incoming Smart String Processing Parameters.......................................................................................154
Programs and Their Modifiers........................................................................................................155
Subconfigurator Processing Sequences.................................................................................................156
Programs and Their Modifiers........................................................................................................156
Method Rules Definition..............................................................................................................................158
Operations............................................................................................................................................158
Programs and Their Modifiers........................................................................................................159
Example........................................................................................................................................159
Resources and Resource Groups...........................................................................................................160
Programs and Their Modifiers........................................................................................................161
Assemblies and Subassemblies (Materials).............................................................................................161
Programs and Their Modifiers........................................................................................................162
Example........................................................................................................................................163
Methods of Manufacture......................................................................................................................163
Programs and Their Modifiers........................................................................................................165
Logic/Algorithms...........................................................................................................................166
Example........................................................................................................................................167
Method Variables.................................................................................................................................168
Programs and Their Modifiers........................................................................................................169
Example 1.....................................................................................................................................170
Example 2.....................................................................................................................................170
Contents
Method Rules.......................................................................................................................................171
Programs and Their Modifiers........................................................................................................172
Method Rule Sets, Conditions, and Actions...........................................................................................173
Rule Components..........................................................................................................................174
Programs and Their Modifiers........................................................................................................175
Adding a New Rule Set...........................................................................................................175
Adding a New Rule Condition to a Rule Set............................................................................177
Adding a New Rule Action to a Rule Set.................................................................................179
Example 1..............................................................................................................................186
Example 2..............................................................................................................................187
Method Rules Sequencing and Testing..................................................................................................188
Example........................................................................................................................................188
Configurator Maintenance...........................................................................................................................189
Configurator Listing..............................................................................................................................189
Programs and Their Modifiers........................................................................................................190
Configuration Import / Export...............................................................................................................191
Exporting Configurations...............................................................................................................191
Programs and Their Modifiers.................................................................................................192
Logic and Algorithms.............................................................................................................193
Importing Configurations..............................................................................................................195
Programs and Their Modifiers.................................................................................................196
Logic and Algorithms.............................................................................................................198
Verify Existing Configurations...............................................................................................................200
Programs and Their Modifiers........................................................................................................201
Logic/Algorithms...........................................................................................................................202
Regenerate Configurations...................................................................................................................203
Continuous Processing Mode........................................................................................................204
Deploy Approved Configurator to Epicor Web Access..................................................................................205
Contents
Sales Company.....................................................................................................................................220
Manufacturing Company......................................................................................................................221
Modifiers.............................................................................................................................222
Action (Configurator Entry)..........................................................................................................................222
Where Located.....................................................................................................................................223
Action (Configurator Rule Entry)..................................................................................................................223
Where Located.....................................................................................................................................224
Allow Reconfiguration.................................................................................................................................224
Where Located.....................................................................................................................................225
Allow Record Creation.................................................................................................................................225
Where Located.....................................................................................................................................225
Approved (Configurator Designer)...............................................................................................................226
Where Located.....................................................................................................................................226
Approved (Configurator Entry).....................................................................................................................227
Where Located.....................................................................................................................................227
Approved (Configurator Rule Entry).............................................................................................................227
Where Located.....................................................................................................................................228
Approved / Not Approved (Part Maintenance)..............................................................................................228
Where Located.....................................................................................................................................228
Logic/Algorithms...................................................................................................................................229
Assembly Part..............................................................................................................................................229
Where Located.....................................................................................................................................230
Automatically Mark Methods Global............................................................................................................230
Where Located.....................................................................................................................................230
Available Companies....................................................................................................................................231
Where Located.....................................................................................................................................231
Available Inputs/Format................................................................................................................................231
Where Located.....................................................................................................................................232
Logic/Algorithms...................................................................................................................................232
Example................................................................................................................................................232
Available Methods.......................................................................................................................................232
Where Located.....................................................................................................................................233
Logic/Algorithms...................................................................................................................................233
Available Styles............................................................................................................................................233
Where Located.....................................................................................................................................233
Logic/Algorithms...................................................................................................................................234
Column Label..............................................................................................................................................234
Where Located.....................................................................................................................................234
Column Set..................................................................................................................................................235
Where Located.....................................................................................................................................235
Configuration Type......................................................................................................................................235
Where Located.....................................................................................................................................236
Configurator ID (Configurator Designer)......................................................................................................236
Where Located.....................................................................................................................................236
Configurator ID (Configurator Rule Entry)....................................................................................................237
Contents
Where Located.....................................................................................................................................237
Configurator ID (Configurator ID).................................................................................................................237
Where Located.....................................................................................................................................237
Configurator ID (Configurator User Defined Methods Maintenance).............................................................238
Where Located.....................................................................................................................................238
Configurator ID (Part Maintenance)..............................................................................................................238
Where Located.....................................................................................................................................238
Create Alternative Methods.........................................................................................................................239
Where Located.....................................................................................................................................239
Create New Part Number at Zero Cost.........................................................................................................239
Where Located.....................................................................................................................................239
Logic/Algorithms...................................................................................................................................240
Example................................................................................................................................................240
Create Non-Configurable Part......................................................................................................................240
Where Located.....................................................................................................................................240
Customer Part Number................................................................................................................................241
Where Located.....................................................................................................................................241
Logic/Algorithms...................................................................................................................................241
Create Revision............................................................................................................................................241
Where Located.....................................................................................................................................242
Data Type (Configurator Designer)...............................................................................................................242
Where Located.....................................................................................................................................242
DataType (Global Input Variables)................................................................................................................242
Where Located.....................................................................................................................................243
DataType (Global Input Variables)................................................................................................................243
Where Located.....................................................................................................................................243
Default ECO Group......................................................................................................................................244
Where Located.....................................................................................................................................244
Digit Structure.............................................................................................................................................244
Where Located.....................................................................................................................................244
Example................................................................................................................................................245
Display Configuration Summary Grid...........................................................................................................245
Where Located.....................................................................................................................................245
Document Rules...........................................................................................................................................245
Where Located.....................................................................................................................................246
Dynamic List................................................................................................................................................246
Where Located.....................................................................................................................................246
Edit..............................................................................................................................................................247
Where Located.....................................................................................................................................247
Enable Part Number Creation.......................................................................................................................247
Where Located.....................................................................................................................................247
Logic/Algorithms...................................................................................................................................248
End Date (Input List).....................................................................................................................................248
Where Located.....................................................................................................................................248
Ending Decimal............................................................................................................................................248
Contents
Where Located.....................................................................................................................................248
Enterprise Configurator................................................................................................................................249
Where Located.....................................................................................................................................249
End Position.................................................................................................................................................250
Where Located.....................................................................................................................................250
External Ref.................................................................................................................................................250
Where Located.....................................................................................................................................250
Format (Configurator Lookup Table Maintenance).......................................................................................251
Where Located.....................................................................................................................................251
Format (Input List)........................................................................................................................................252
Where Located.....................................................................................................................................253
Format (Input Properties)..............................................................................................................................253
Where Located.....................................................................................................................................253
Generate Method........................................................................................................................................254
Where Located.....................................................................................................................................254
GIV Name / Global Input Variable Name.......................................................................................................254
Where Located.....................................................................................................................................255
Global..........................................................................................................................................................255
Where Located.....................................................................................................................................255
Example................................................................................................................................................255
Global Input Variable...................................................................................................................................256
Where Located.....................................................................................................................................256
Logic/Algorithms...................................................................................................................................257
Global Variables...........................................................................................................................................257
Where Located.....................................................................................................................................257
Height / P Height.........................................................................................................................................258
Where Located.....................................................................................................................................258
Height (Page Level)......................................................................................................................................258
Where Located.....................................................................................................................................258
Hide from Summary.....................................................................................................................................259
Where Located.....................................................................................................................................259
Horizontal....................................................................................................................................................259
Where Located.....................................................................................................................................259
Incoming Smart String.................................................................................................................................260
Where Located.....................................................................................................................................260
Increment....................................................................................................................................................261
Where Located.....................................................................................................................................261
Initial Date Value (Global Input Variables).....................................................................................................261
Where Located.....................................................................................................................................261
Initial Decimal Value (Global Input Variables)................................................................................................262
Where Located.....................................................................................................................................262
Initial Logical Value (Global Input Variables).................................................................................................262
Where Located.....................................................................................................................................262
Example................................................................................................................................................263
Initial String Value (Global Input Variables)...................................................................................................263
Contents
Where Located.....................................................................................................................................263
Initial Value..................................................................................................................................................263
Where Located.....................................................................................................................................263
Input Name..................................................................................................................................................264
Where Located.....................................................................................................................................264
Inputs..........................................................................................................................................................264
Where Located.....................................................................................................................................264
Inspection Attribute / Attribute ID................................................................................................................265
Where Located.....................................................................................................................................265
Invisible........................................................................................................................................................265
Where Located.....................................................................................................................................265
Keep Component When..............................................................................................................................266
Label............................................................................................................................................................267
Where Located.....................................................................................................................................267
Location.......................................................................................................................................................267
Where Located.....................................................................................................................................267
Lookup Table...............................................................................................................................................268
Where Located.....................................................................................................................................268
Material.......................................................................................................................................................268
Where Located.....................................................................................................................................268
Method.......................................................................................................................................................269
Where Located.....................................................................................................................................269
Method Rules..............................................................................................................................................269
Where Located.....................................................................................................................................269
Method Type...............................................................................................................................................270
Where Located.....................................................................................................................................270
Minimum Value, Maximum Value (Date)......................................................................................................270
Where Located.....................................................................................................................................271
Minimum Value, Maximum Value (Decimal).................................................................................................271
Where Located.....................................................................................................................................271
Modifier.......................................................................................................................................................272
Where Located.....................................................................................................................................272
Multi-Company Rule....................................................................................................................................272
Where Located.....................................................................................................................................272
Multiplier..............................................................................................................................................273
Where Located..............................................................................................................................273
Logic/Algorithms...........................................................................................................................273
(Name) / Input Name....................................................................................................................................273
Where Located.....................................................................................................................................274
Negatives.....................................................................................................................................................274
Where Located.....................................................................................................................................274
Example................................................................................................................................................275
Notify User of Duplicate Part Numbers.........................................................................................................275
Where Located.....................................................................................................................................275
Example................................................................................................................................................275
10
Contents
Number of Decimals....................................................................................................................................276
Where Located.....................................................................................................................................276
Logic/Algorithms...................................................................................................................................276
Example................................................................................................................................................276
Number of Digits.........................................................................................................................................277
Where Located.....................................................................................................................................277
Logic/Algorithms...................................................................................................................................277
Example................................................................................................................................................277
On Field Changed........................................................................................................................................277
Where Located.....................................................................................................................................278
On Field Validating.......................................................................................................................................278
Where Located.....................................................................................................................................278
On Page Leave.............................................................................................................................................279
Where Located.....................................................................................................................................279
On Page Load..............................................................................................................................................279
Where Located.....................................................................................................................................279
On Page Loaded..........................................................................................................................................280
Where Located.....................................................................................................................................280
Operation....................................................................................................................................................280
Where Located.....................................................................................................................................281
Page (Page Level).........................................................................................................................................281
Where Located.....................................................................................................................................281
Page (Input Level).........................................................................................................................................281
Where Located.....................................................................................................................................282
Page Sequence / Page Display Sequence......................................................................................................282
Where Located.....................................................................................................................................282
Page Title.....................................................................................................................................................283
Where Located.....................................................................................................................................283
Logic/Algorithms...................................................................................................................................283
Param Name................................................................................................................................................283
Where Located.....................................................................................................................................284
Parameter Name..........................................................................................................................................284
Where Located.....................................................................................................................................284
Param Type..................................................................................................................................................284
Where Located.....................................................................................................................................285
Part Description...........................................................................................................................................285
Where Located.....................................................................................................................................285
Part/Rev.......................................................................................................................................................286
Where Located.....................................................................................................................................286
Position and Sizing Fields (X, Y, Width and Height).......................................................................................286
Where Located.....................................................................................................................................286
Preface w/ Part Number...............................................................................................................................287
Where Located.....................................................................................................................................287
Prompt For Checkout...................................................................................................................................287
Where Located.....................................................................................................................................287
11
Contents
12
Contents
Where Located.....................................................................................................................................301
Size (Page Level)...........................................................................................................................................302
Where Located.....................................................................................................................................302
Skip page if all inputs are disabled or invisible..............................................................................................302
Where Located.....................................................................................................................................302
Start Date (Input List)...................................................................................................................................303
Where Located.....................................................................................................................................303
Starting Decimal (Input List).........................................................................................................................303
Where Located.....................................................................................................................................303
Starting Sequence........................................................................................................................................304
Where Located.....................................................................................................................................304
Start Position...............................................................................................................................................304
Where Located.....................................................................................................................................304
Summary Label............................................................................................................................................305
Where Located.....................................................................................................................................305
Synchronize.................................................................................................................................................305
Where Located.....................................................................................................................................305
Synchronize Revision Approval.....................................................................................................................306
Where Located.....................................................................................................................................306
Tab Order....................................................................................................................................................306
Where Located.....................................................................................................................................307
Table Name.................................................................................................................................................307
Where Located.....................................................................................................................................308
Template.....................................................................................................................................................309
Where Located.....................................................................................................................................309
Text.............................................................................................................................................................309
Where Located.....................................................................................................................................309
Thousands Separator...................................................................................................................................310
Where Located.....................................................................................................................................310
Tooltip.........................................................................................................................................................310
Where Located.....................................................................................................................................310
Type (Part)...................................................................................................................................................311
Where Located.....................................................................................................................................311
Logic/Algorithms...................................................................................................................................311
UD Method..................................................................................................................................................311
Where Located.....................................................................................................................................311
Update Saved Input Values and Set Fields in Part Table.................................................................................312
Where Located.....................................................................................................................................312
Example................................................................................................................................................312
Use Component Pricing...............................................................................................................................313
Where Located.....................................................................................................................................313
Logic/Algorithms...................................................................................................................................314
Use Increment / Use Incr Value.....................................................................................................................315
Where Located.....................................................................................................................................315
Use Initial URL..............................................................................................................................................315
13
Contents
Where Located.....................................................................................................................................315
Use Initial Value / Use Init Value...................................................................................................................316
Where Located.....................................................................................................................................316
Use Item List / Use List Values.......................................................................................................................316
Where Located.....................................................................................................................................316
Use Label / Use Screen Label........................................................................................................................317
Where Located.....................................................................................................................................317
Use Max Value.............................................................................................................................................317
Where Located.....................................................................................................................................317
Use Min Value.............................................................................................................................................318
Where Located.....................................................................................................................................318
Use Resulting Job Method For Component Pricing.......................................................................................318
Where Located.....................................................................................................................................318
Use Saved Layout When Reconfiguring........................................................................................................319
Where Located.....................................................................................................................................319
Use Tooltip..................................................................................................................................................319
Where Located.....................................................................................................................................319
Valid List......................................................................................................................................................320
Where Located.....................................................................................................................................320
Value Type...................................................................................................................................................320
Where Located.....................................................................................................................................320
Variable Definitions......................................................................................................................................321
Where Located.....................................................................................................................................322
VarName.....................................................................................................................................................322
Where Located.....................................................................................................................................322
Verify Existing Job Configurations................................................................................................................323
Where Located.....................................................................................................................................323
Logic/Algorithms...................................................................................................................................323
Example................................................................................................................................................323
Verify Existing Order Configurations.............................................................................................................324
Where Located.....................................................................................................................................324
Logic/Algorithms...................................................................................................................................324
Example................................................................................................................................................324
Verify Existing Quote Configurations............................................................................................................325
Where Located.....................................................................................................................................325
Logic/Algorithms...................................................................................................................................325
Example................................................................................................................................................325
Web Input Name.........................................................................................................................................326
Where Located.....................................................................................................................................326
Width / P Width...........................................................................................................................................326
Where Located.....................................................................................................................................326
Width (Page Level).......................................................................................................................................327
Where Located.....................................................................................................................................327
X Position....................................................................................................................................................327
Where Located.....................................................................................................................................327
14
Contents
Y Position....................................................................................................................................................328
Where Located.....................................................................................................................................328
Context Functions...............................................................................................................329
Company ID.................................................................................................................................................329
Where Located.....................................................................................................................................329
Proper Syntax.......................................................................................................................................329
Resulting Data Type..............................................................................................................................329
Example................................................................................................................................................330
Configurator ID............................................................................................................................................330
Where Located.....................................................................................................................................330
Resulting Data Type..............................................................................................................................330
Proper Syntax.......................................................................................................................................330
Example................................................................................................................................................330
Customer ID................................................................................................................................................331
Where Located.....................................................................................................................................331
Proper Syntax.......................................................................................................................................331
Resulting Data Type..............................................................................................................................331
Example................................................................................................................................................331
Demand Header Number.............................................................................................................................332
Where Located.....................................................................................................................................332
Proper Syntax.......................................................................................................................................332
Resulting Data Type..............................................................................................................................332
Example................................................................................................................................................332
Demand Line Number..................................................................................................................................333
Where Located.....................................................................................................................................333
Proper Syntax.......................................................................................................................................333
Resulting Data Type..............................................................................................................................333
Example................................................................................................................................................333
Entity...........................................................................................................................................................334
Where Located.....................................................................................................................................335
Proper Syntax.......................................................................................................................................335
Resulting Data Type..............................................................................................................................335
Example................................................................................................................................................335
Job Number.................................................................................................................................................336
Where Located.....................................................................................................................................336
Proper Syntax.......................................................................................................................................336
Resulting Data Type..............................................................................................................................336
Example................................................................................................................................................336
Order Line....................................................................................................................................................337
Where Located.....................................................................................................................................337
Proper Syntax.......................................................................................................................................337
Resulting Data Type..............................................................................................................................337
Example................................................................................................................................................337
Order Number.............................................................................................................................................338
Where Located.....................................................................................................................................338
15
Contents
Proper Syntax.......................................................................................................................................338
Resulting Data Type..............................................................................................................................338
Example................................................................................................................................................338
Part Number................................................................................................................................................339
Where Located.....................................................................................................................................339
Proper Syntax.......................................................................................................................................339
Resulting Data Type..............................................................................................................................339
Example................................................................................................................................................339
Purchase Order Number...............................................................................................................................339
Where Located.....................................................................................................................................339
Proper Syntax.......................................................................................................................................339
Resulting Data Type..............................................................................................................................339
Example................................................................................................................................................340
Purchase Order Line Number........................................................................................................................340
Where Located.....................................................................................................................................340
Proper Syntax.......................................................................................................................................340
Resulting Data Type..............................................................................................................................340
Example................................................................................................................................................340
Quote Line...................................................................................................................................................341
Where Located.....................................................................................................................................341
Proper Syntax.......................................................................................................................................341
Resulting Data Type..............................................................................................................................341
Example................................................................................................................................................341
Quote Number.............................................................................................................................................342
Where Located.....................................................................................................................................342
Proper Syntax.......................................................................................................................................342
Resulting Data Type..............................................................................................................................342
Example................................................................................................................................................342
Site..............................................................................................................................................................343
Where Located.....................................................................................................................................343
Proper Syntax.......................................................................................................................................343
Resulting Data Type..............................................................................................................................343
Example................................................................................................................................................343
Supplier ID...................................................................................................................................................344
Where Located.....................................................................................................................................344
Proper Syntax.......................................................................................................................................344
Resulting Data Type..............................................................................................................................344
Example................................................................................................................................................344
User ID.........................................................................................................................................................345
Where Located.....................................................................................................................................345
Proper Syntax.......................................................................................................................................345
Resulting Data Type..............................................................................................................................345
Example(s)............................................................................................................................................345
Inspection Plan Configurator Context Functions...........................................................................................346
Assembly Sequence.....................................................................................................................................346
16
Contents
Where Located.....................................................................................................................................346
Proper Syntax.......................................................................................................................................346
Resulting Data Type..............................................................................................................................346
Example................................................................................................................................................346
Attribute ID..................................................................................................................................................347
Where Located.....................................................................................................................................347
Proper Syntax.......................................................................................................................................347
Resulting Data Type..............................................................................................................................347
Example................................................................................................................................................347
Non Conformance ID...................................................................................................................................348
Where Located.....................................................................................................................................348
Proper Syntax.......................................................................................................................................348
Resulting Data Type..............................................................................................................................348
Example................................................................................................................................................348
Operation Sequence....................................................................................................................................348
Where Located.....................................................................................................................................348
Proper Syntax.......................................................................................................................................348
Resulting Data Type..............................................................................................................................349
Example................................................................................................................................................349
Pack Line.....................................................................................................................................................349
Where Located.....................................................................................................................................349
Proper Syntax.......................................................................................................................................349
Resulting Data Type..............................................................................................................................349
Example................................................................................................................................................349
Pack Slip......................................................................................................................................................350
Where Located.....................................................................................................................................350
Proper Syntax.......................................................................................................................................350
Resulting Data Type..............................................................................................................................350
Example................................................................................................................................................350
RMA Line.....................................................................................................................................................350
Where Located.....................................................................................................................................350
Proper Syntax.......................................................................................................................................350
Resulting Data Type..............................................................................................................................351
Example................................................................................................................................................351
Specification ID............................................................................................................................................351
Where Located.....................................................................................................................................351
Proper Syntax.......................................................................................................................................351
Resulting Data Type..............................................................................................................................351
Example................................................................................................................................................351
Specification Revision...................................................................................................................................352
Where Located.....................................................................................................................................352
Proper Syntax.......................................................................................................................................352
Resulting Data Type..............................................................................................................................352
Example................................................................................................................................................352
Lookup Functions................................................................................................................353
Epicor ERP | 10.0.700
17
Contents
PCLookUp.DataLookup................................................................................................................................353
Proper Syntax.......................................................................................................................................353
PCLookUp.DataRowList................................................................................................................................353
Proper Syntax.......................................................................................................................................353
PCLookUp.DataRowListNum........................................................................................................................353
Proper Syntax.......................................................................................................................................353
PCLookUp.DataRowRangeList......................................................................................................................353
Proper Syntax.......................................................................................................................................353
PCLookUp.DataRowLookupList....................................................................................................................354
Proper Syntax.......................................................................................................................................354
PCLookUp.DataColumnList..........................................................................................................................354
Proper Syntax.......................................................................................................................................354
PCLookUp.DataColumnListNum ..................................................................................................................354
Proper Syntax.......................................................................................................................................354
PCLookUp.DataColumnRangeList ................................................................................................................354
Proper Syntax.......................................................................................................................................354
18
Contents
19
Introduction
Introduction
Intended Audience
This guide is intended for individuals within your company 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.
20
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.
Introduction
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
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 pre-implementation planning, designing
configurations, defining settings, creating rules and maintaining configurations.
3.
Configurator in a Multi-Company Enterprise - This section covers the setup and operation of the
Configurator 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.
4.
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, page
expressions and Global Input Variables, among others.
5.
Context Functions - This section details context functions that have been developed by Epicor for use when
defining a Product or Enhanced Quality Assurance (EQA) configuration. Context functions can be used in
expressions for On Load, On Loaded, On Complete, On Save, Dynamic List and Rules processing.
6.
Lookup Functions - This section details the lookup functions that have been developed by Epicor for use
when defining a Product configuration. You use lookup functions to access data in user defined lookup
tables; you use these functions in place of accessing external documents such as spreadsheets.
7.
Configurator in Action - This section contains a detailed example that explores the Configurator as it was
implemented by Wavy Rider Products, who manufacture pontoon boats.
Note To clarify how the Configurator works, certain concepts may sometimes be repeated in multiple
topics. This is done to show how the various components, calculations, values, and modifiers work together
to create accurate configuration designs.
21
22
Part records contain base information that the Epicor application uses to identify an item as configured part; this
is the top-level "universal" base assembly item for which a product configuration is being created. When you
enter a base universal part in the following programs, and elect to configure the item by clicking the Configure
button, an interactive Question and Answer or Smart String entry session, referred to as 'the configuration session'
throughout this document, displays:
Opportunity/Quote Entry
Order Entry
Job Entry
Purchase Order Entry
Demand Entry
23
Depending on how you have defined the configuration, 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, who manufacture
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 (fish 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. It consists of three main
components:
Configurator Entry
Configurator Designer
24
25
26
It performs the following evaluations at the input control and configurator page level during and after configuration
parameter processing:
If (optional) Smart String Configuration processing is used, the Epicor application attempts to parse, process,
and load all associated configuration input values from the supplied string value.
Applies On Load, On Loaded, On Complete and On Save conditional code when certain events takes place
during an actual configuration session.
Processes page-level properties and actions that define the appearance of a configuration page, and manner
in which it should operate when certain events take place.
Processes input-level properties and actions that define the appearance and behavior of each input control,
and manner in which they should operate when certain events take place.
When a user operates a combo box control, the Configurator determines if Dynamic List logic has been
enabled for the control. If so, it processes the applicable code and displays the correct list of option selections
in the control.
At the input control level, it processes each applicable Method rule, which determines material requirements,
then calculates final material and operational content for the configured end item.
Collects information from the configuration entries (and from the originating sales order, quote, purchase
order, or demand order), and processes Document rules to calculate unit pricing and other related data for
the configured end item.
Generates part master and Smart String information for the configured end item.
27
the Epicor application to skip pages and instead execute the On Leave event of each page and the On Complete
event of the configurator.
Note An event can cancel loading of the configurator. If a previous configurator is available, the
application returns to it. If no previous configurator is available, a message displays indicating the reason
for the cancellation.
On Loaded - If you created these types of expressions, the Epicor application executes Client side expressions
after the configuration page loads. These events trigger after the Epicor application executes On Load
expressions. At this point, no pages are loaded and you cannot cancel the configuration.
On Complete - If you created these types of expressions, the Epicor application executes Client side expressions
after you leave or skip the last page of the configurator (for example when moving from one configurator to
another or completing the only configurator available). In case a next configurator is available, this event is
not executed if you move backwards to the first configurator page. The Epicor application executes this type
of event only after the last page of the configurator is left/skipped again. You can cancel the event, meaning
that you can cancel the completion of a configurator and return focus to the last page, or cancel the session
if no previous page/configurator is found.
On Save - If you created these types of expressions, the Epicor application executes Server side expressions
after client side events for the last page of the configuration session complete. The Epicor application executes
them when you are the very end of the configuration and click the Save or Next buttons and there are no
additional configurator pages left to display. After a configurator is completed and no more configurators
are available to complete, the Epicor application sends all the configuration data (for example, input values)
to the server for saving. When saving the data for each configuration, this event is executed for each of them.
As a result, all Save events are executed at one specific point, when everything is saved.
When you use multiple levels of subconfigurators, the Epicor application executes the On Save event after all
sub-configurators are completed. The On Save events of the sub-configurators are executed in reverse order
in which the sub-configurators were configured.
28
the Epicor application informs you when the configurator page is loading, loaded, or when you are leaving the
page.
On Page Leave - This action triggers when you leave the specified configurator page while it is in focus
during a configuration session, or when you move forwards or backwards between configurator pages. The
On Page Leave action does not trigger any other action unless specifically defined as an action.
On Page Load - This action triggers when a configurator page in focus is loading during a configuration
session, either upon the first load or when you move forwards or backwards between configurator pages.
The On Page Load action does not trigger any other action unless specifically defined as an action.
On Page Loaded - This action triggers when a configurator page is loaded during a configuration session.
At this point you cannot cancel loading.
29
If set to True, the Publish to Doc parameter setting indicates that values are shared between input fields
with the same name used in configurators linked to lines of the same document. If another configurator
contains the same input field, for which it is marked as Publish to Doc, and it is also used on another line
of the same document (entity), the input field gets its initial value from the published value of the previous
line. If you change the value in the second line, the first line does not update.
If the Read Only parameter is set to True, the Epicor application considers the input control as Read Only;
it only displays configuration information and cannot be used for entry of actual configurator values. If a Read
Only expression is defined for the input control, the associated C# code syntax defines the conditions under
which the control functions in a Read Only manner.
If set to True, the Required parameter setting indicates that the control requires mandatory entry of a value
during an actual configuration session.
The Tab Order parameter setting designates the order in which the cursor moves through the input controls
when the Tab key is used.
The Valid List parameter setting contains a listing of valid (allowable) responses (entries) in a Character type
control.
Input Level Actions
The input level action parameter settings designate the actions that should occur for that particular input control
during an actual configuration session.
On Field Changed - This action triggers when you change the value of the specified control on an input
page while it is in focus and saved during an actual configuration session. Compared to the On Field Validation
action, which is triggered when you change the value of the specified control on the page while the page is
in focus, prior to saving the value, the change already happened. The On Field Changed action does not
trigger any other actions unless specifically defined as an action.
On Field Validating - This action triggers when you change the value of the specified control on an input
page while the page is in focus, prior to saving the value during an actual configuration session. Compared
to the On Field Changed action, you can still prevent the change. The field validation action does not trigger
any other actions unless specifically defined as an action
30
The selections that display in the combo box are passed in from a lookup table that consists of data
imported from an external spreadsheet.
Note For detailed information and examples of Dynamic List processing. refer to Dynamic Lists Editor
in the Implementation and Calculations section and the Configurator in Action section
31
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
originally defined as the subassembly of the configured part). In the event that a subassembly part number
is 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 - for more details,
refer to Use of Rules Types in Rules Processing.
Collects information from the configuration entries (and from the originating sales order, quote, or job) to
calculate unit pricing for the configured end item.
32
33
Generate Method
If the Enable Part Number check box is selected, but the Save Input Values check box is cleared, 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 the Generate Method check box is selected, 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.
However, If this check box is cleared, the Epicor application does not create a method of manufacture in this
situation.
Create New Part Number at Zero Cost
If this check box is selected, the Epicor application sets the cost of the new part at zero cost. Zero costs mean
that the newly created part does not inherit the part unit costs of the base configurator.
If it is cleared, the Epicor application uses the cost of the base part as the cost of the new part.
Create Alternate Method
If this check box is selected, the Epicor application creates alternate method records in other sites when a
configuration part is created (that is, when you configure a base universal part during a configuration session
in the current site).
If this check box is cleared, the Epicor application does not create alternate method records in other sites
when a configuration part is created.
Prompt For Checkout
If this check box is selected, Part Revision Checkout displays when you save a configuration after completing
a configuration session. This allows for checkout of the newly created configured part revision to the Engineering
Workbench.
If this check box is cleared, the Epicor application skips display of Part Revision Checkout when you save a
configuration after completing a configuration session
Save Input
If this check box is selected, the Epicor application saves the input value settings entered in a configuration
session in the Part record for the new configured part and revision number, but does not link it to a specific
quote, order, or job. This allows the input values to be used "as-is" on any quote, order, job, purchase order,
or demand order without the need for reconfiguration. It also ensures that when you use the Get Details
sheet in Job Entry or Opportunity/Quote Entry, the Epicor application uses the correct engineering structure
at the time it creates an associated job order.
If this check box is cleared, the Epicor application does not save the input value settings entered in a
configuration session in the Part record for the new configured part and revision number.
Available Methods
If the Use Smart String as the new part number option is 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 option is 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.
34
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 specifies the basis for how the Smart String should be constructed. The
Epicor application does not generate a Smart String if the No Smart String Functionality option is selected.
If the Smart String Constructed from Inputs option is selected, the Epicor application constructs the Smart
String based on inputs you enter 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 specifies 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 type of delimiter character (dash, space, slash, underscore,
or no separator) that should separate the individual element sections of the Smart String.
Note For details on the remaining parameters in this sheet, refer to Configurator Entry > Record
Creation > Part Creation in the Implementation Components and Calculations section.
After you click Save during an actual configuration session, the Epicor application determines if an available style
is defined for the configured part (in the Available Styles field in the Configurator Entry > Record Creation >
Part Creation sheet) prior to saving the input value records.
If an available style is selected, the Epicor application builds the Smart String according to the selected
parameters defined in the Record Creation > Part Creation sheet. Once it builds the Smart String, it verifies
if any of the "assignment" parameters are specified for the configured part in the Record Creation > Part
Creation sheet and updates the appropriate fields accordingly on the associated order or quote.
When you save a configuration, the Epicor application processes all of the selections made in the Record
Creation > Part Creation sheet. For example, if the Customer Part Number check box is selected, it updates
the Customer Part Number field in Order Entry or Opportunity/Quote Entry with the newly created part
number.
When you use 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 Document rule that updates the value of the customer part number on the
quote, it overwrites the newly created part number assigned to the Customer Part Number field with the
new customer part number that results from processing of the Document rule.
Note If Smart String parameters are defined for a subassembly configured part, the Epicor application
processes these parameters for the lower level configured part when you save the associated top level
configuration during a configuration session.
35
Pre-Implementation Planning
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.
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, 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 different 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.
36
37
38
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 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.
39
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 a 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.
40
Free-Form Fields
The use of free-form fields should not be discarded because the Engineering department has to review 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.
41
Setup Flow
42
Setup Steps
1.
In Configurator Entry, create a unique Configurator ID that enables linking of a single product configurator
definition to, and possible use on, multiple part revisions for multiple parts.
2.
Create the base universal part for the configurator design in Part Maintenance.
You must select the Non-Stock Item check box in the Parts > Detail sheet to identify the part as a
configurable item.
Once you create the base universal part, you then create revision numbers and tie a Configurator ID to
it using the Configurator ID field in the Part Maintenance > Part > Revisions > Detail sheet. Assigning
a Configurator ID links the part revision to a specific configurator process you create for the Configurator
ID in the Configurator Designer.
Once you assign a revision number and Configurator ID to a top-level base configured part, you check
out the part revision to an ECO group.
3.
Use Configurator Lookup Table Maintenance as needed to create lookup tables and import CSV files
into your database. Create columns and column rows containing values used as a source for Combo Boxes
and Expressions to return values during a Configurator session.
4.
Using the Configurator Designer, create the specific structure of the configuration process associated
with the Configurator ID.
Use the Configurator sheets to edit and test On Load, On Loaded, On Complete or On Save configurator
events.
Use the Designer sheets to create configurator input page(s), define input control parameters, input
page behavior, dynamic lists, and global variable inputs (among others) for the selected configurator ID.
These are the actual input pages that display when you configure the base part during an actual
Configuration session.
Define global input variables and dynamic lists as needed.
As needed, use the Test Inputs selection on the Actions menu to test input control definitions.
5.
Use Configurator User Defined Methods Maintenance as needed to define methods that can be used
in multiple (Client side) events, such as field events, page events, configurator events, read-only expressions,
dynamic list expressions, or program calls. Using this program, you can also define Server side expressions,
such as document and method rules
6.
Using Configurator Entry, define the following settings for the configurator:
Using the Document Rules sheets, define Document rules, and specify if component pricing is being
used. Document rules allow for updating of values (including pricing) in source transactions such as
Epicor Commerce Connect order detail, order, quote, purchase order and demand line records. They
can be used in a single-company environment, or with an Enterprise Configurator in a multi-company
environment.
Specify part and Smart String creation parameters in the Record Creation > Part Creation sheets.
(Optional) Specify incoming Smart String parsing parameters in the Smart String sheet.
(Optional) Specify subconfiguration sequences in the Sequence sheet.
As needed, use the Document Variables selection on the Actions menu to define document variables.
When the configuration design is ready for deployment, approve it for use by selecting the Approve
check box in the Detail sheet in Configuration Entry.
43
7.
Using the Engineering Workbench, define the method of manufacture for the base configurator part, in
accordance with Super BOM or Template BOM principals. Create all required supporting part, resource,,
resource group and operation records before building the method of manufacture..
8.
Using Configurator Rules Entry, define method rules for the Configuration ID. These rules determine
which subassemblies, materials, operations and operation details are included in the method of manufacture
when the resulting configuration is built. As needed, use the Method Variables selection on the Actions
menu to define method variables.
9.
Use Regenerate Configurations as needed after installing a new service pack or patch to regenerate
configurations that have been created in the Configurator Designer. 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
Configurator IDs
The Configurator Entry > Detail sheet is the starting point for defining a structured configuration process for
specific part revisions. You use Configurator Entry to create a unique Configurator ID that enables linking of a
single product configurator definition to, and possible use on, multiple part revisions for multiple parts.
These settings are responsible for how the configuration operates during an actual Configurator session.
44
You create the specific structure of the configuration process associated with the Configurator ID in the
Configurator Designer.
You link the Configurator ID to specific part revisions using the Configurator ID field in the Part Maintenance
> Part > Revisions > Detail sheet. For example, by assigning specific Configurator IDs to specific part revisions,
you can define a configuration process for Revision B that differs from the one developed for Revision A for the
same part.
Configurator Entry contains the following tabs/sheets; refer to the Application Help and associated topics in the
Implementation Components and Calculations section of this document for more details on each tab/sheet:
Detail - Use to enter a new configurator record and define key configurator settings. You also use it
approve/unapprove the configurator design.
Approval Log - Use to review a log of configuration design changes; this is a log of changes that have already
been made to the configurator.
Comments - Use as needed to enter free-form comment text for the configurator you are defining.
This allows you to document such topics as the purpose for the configuration, where external files can be
found and other related information.
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.
This allows you to protect proprietary information from potential distribution to unwanted parties.
Record Creation > Part Creation - Use to define parameters that designate if and how part records should
be entered or created when configuring an item during an actual configuration session, and saving the
configuration.
You can also specify 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.
Part creation and Smart String functionality can be defined for top assembly, as well as subassembly
configurators.
When you define Part Creation (or Smart String creation) parameters 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.
Document Rules - Use the sheets located under the Document Rules tab 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.
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).
Document rules can be used in a single-company environment, or with an Enterprise Configurator in a
multi-company environment.
Smart String - Use this sheet to specify how the Epicor application should process and load all associated
configuration input values from Smart String values entered during the actual configuration session (in
Opportunity/Quote Entry, Order Entry, Purchase Order Entry, Job Entry or Demand Entry).
Sequence - Use this sheet to review, and if necessary change the configurator sequences of subconfigurators
that have been added as materials into a method of manufacture (MOM) for the parent part using the
Engineering Workbench.
45
Configurator Entry
2.
Configurator Designer
3.
Note The Product Configurator type is only available if the Product Configurator license is installed.
Inspection Plan Configurator - Can be linked to inspection plans. These configurations, when approved,
will be available in Inspection Data Collection, which can be accessed from various programs such as
Inspection Processing or Time and Expense Entry (MES or the Main Menu). The Inspection Plan Configurator
type activates the following configuration programs:
1.
Configurator Entry
2.
Configurator Designer
Note The Inspection Plan Configurator type is only available if the Enhanced Quality
Management (EQM) license is installed.
46
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.
Enterprise Configurator - Indicates that the selected configurator is an enterprise configurator and enables
external company setup options within the Configurator Designer. The Multi-Company module must be
installed for this company to use this check box.
Note 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.
Select this check box if this is an enterprise configurator.
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 is defined and used (the part is 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 Entry > Status
sheet.
To do this for a job, you add the part to the Material node in the Job Entry tree view. After you
add the part, 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 add the part, right-click it, then select Configure
to access a Configurator Q&A session.
Synchronize - Designates if synchronization functions should be enabled for this configurator.
Select this check box to synchronize the selected configurator with external companies. The receiving external
companies must have the Product Configurator license installed; however those companies cannot modify
the configurator. This check box is active only if you select the Enterprise Configurator check box for the
Configurator ID you are defining.
Clear this check box if you do not want to enable synchronization functions for this configurator.
Important 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.
Use Saved Layout When Reconfiguring - Designates if, when in an actual configuration session and you
wish to reconfigure a part assigned this Configurator ID, the Epicor application should load the configuration
layout from when the part was originally configured.
Select this check box to designate that the Epicor application should load the configuration layout from when
the part was originally configured. Clear the check box to skip loading of the original configuration layout
when the part is reconfigured in an actual configuration session.
Approved - Designates if this configurator is approved for formal use in actual configuration sessions.
Select this check box to approve the configurator; you would normally do this after you have completed the
design and testing of the entire configuration for the selected part revision. This check box must be cleared
if you want to change configurator data or design in Configurator Entry.
Whenever you change this check box, the Design of Changes dialog displays; you must enter free-form text
about the nature of the design change. You must clear this check box if you want to change the configuration.
47
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 Configurator Entry.
Selecting the check box causes the following to occur:
If you approve or unapprove the configured part in Configurator Entry (using the Approved check box),
the Epicor application automatically approves or unapproves the associated part revision in the Part
Maintenance > Part > Revisions > Detail sheet.
If you select this check box, the warning message Revision checked out by ECO Group xxx. Do you
wish to approve the configuration? displays 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.
The Epicor application automatically synchronizes the approval of the associated inspection plan (if any)
to the approval of the configured part in Configurator Entry (using the Approved check box). 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 Configurator Entry.
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 Configurator Entry. This skips automatic synchronization
of the Approved check box when the part revision or inspection plan is approved.
Note If you first select Synchronize Revision Approval check box, and then clear it 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 displays prior to deletion of any Enterprise Configurator-specific
settings.
Approved By - Displays the name of the person who most recently approved the configuration.
Date - Displays the date on which the configuration was last approved.
If you select Product Configuration in the Configuration Type field, use the Target Entities grid section to
add target entities to the configuration, and specify update parameters for each.
These specify the database tables that are updated when configuring the item during a configuration session
in Order Entry, Opportunity/Quote Entry, Job Entry, Purchase Order Entry or Demand Entry.
To add a target entity and associated configuration information, from the File menu, click New Target Entity.
48
These are the values you can modify for the item:
Table Name - Specifies the target entity to which this product configuration should apply.
You select the tables that are related to the specific program (for example, Order Entry, Opportunity/Quote
Entry, Job Entry, Purchase Order Entry or Demand Entry) where you wish to configure universal base part
numbers.
Once you select a table name, you use the check boxes next to this field to designate the configurator
behavior and table updates that should take place for it.
Valid table name selections include:
Demand - The DemandHead table stores header information for a specific demand transaction.
The Epicor application updates this table when you manually create demand entries or generate them
from inbound EDI transactions.
Demand Detail - The DemandDetail table stores descriptive demand detail that relates to the Demand
Header to which it is linked. There may be many DemandDetail records per each DemandHead record.
The Epicor application updates this table when you manually create demand entries or generate them
from inbound EDI transactions.
ECORev - Establishes the revisions of a part within an ECO Group, and is a child of the ECOGroup table.
The Epicor application updates this table when you use the Engineering Workbench.
ECO Operation - The ECOOpr table stores information about the operations required for the final assembly
of a part revision, and is a child of the ECORev table.
The Epicor application updates this table when you use the Engineering Workbench.
ECO Operation Detail - The ECOOprDtl table stores manufacturing details for the associated ECOOpr
record.
The Epicor application updates this table when you use the Engineering Workbench.
ECO Material - The ECOMtl table stores ECO bill of materials information, and is a child of the ECORev
table.
The Epicor application updates this table when you use the Engineering Workbench.
Job - The JobHead table stores header information for a specific manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Assembly - The JobAsmbl table stores information about the assemblies required for a specific
manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Material - The JobMtl table stores information about the material content required for a specific
manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Operation - The JobOpr table stores information about the operation content required for a specific
manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Operation Detail - The JobOprDtl table stores manufacturing details for the operations required for
a specific manufacturing job.
The Epicor application updates this table when you use Job Entry.
Order - The OrderHed table stores sales order header information.
49
The Epicor application updates this table when you use Order Entry.
Order Detail - The OrderDtl table stores sales order line detail information. This table is a subset of the
OrderHed table. There may be many OrderDtl records per each OrderHed record.
The Epicor application updates this table when you use Order Entry.
Purchase Order - The POHeader table stores purchase order header information.
The Epicor application updates this table when you use Purchase Order Entry.
Purchase Order Detail - The PODtl table stores purchase order line detail information. This table is a
subset of the POHeader table. There may be many PODtl records per each POHeader record.
The Epicor application updates this table when you use Order Entry.
Quote - The QuoteHed table stores quote header information.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Assembly - The QuoteAsmbl table stores information about the assemblies required for
manufacturing a quoted item. It is a many to one subset of the QuoteDtl table.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Detail - The QuoteDtl table stores quote line detail information. This table is a subset of the
QuoteHed table. There may be many QuoteDtl records per each QuoteHed record.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Material - The QuoteMtl table stores information about the material content required for
manufacturing a quoted item.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Operation - The QuoteOpr table stores information about the operation content required for
manufacturing a quoted item.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Operation Detail - The QuoteOprDtl table stores information about the operation detail content
required for manufacturing a quoted item.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Allow Record Creation - Specifies if a new part record will be 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 once the selected configuration is saved. You can designate use of Allow Record Creation
functionality for top assembly, as well as subassembly configurators.
Important The Product Configurator configuration type only supports part creation for record
creation. The Inspection Plan configuration type does not support record creation.
The parameters you define in the Configurator Entry > Record Creation > Part Creation sheet designate
exactly how these Part and Smart String records should be created. When you designate use of these parameters
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 session.
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.
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
50
in the Engineering Workbench to get method of manufacture details (associated with the base
configured part) when engineering another assembly part, a Would you like to enter a
configuration and get details from resulting method? 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 you save the resulting configuration, 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.
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 Entry; 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).
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.
Incoming Smart String - 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.
You can use this check box 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.
Select the check box to allow for manual entry of a Smart String when configuring the base part (using the
current configuration being designed) during an actual configuration session.
When you enable this functionality, 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, you must define starting and ending positions are for each
of configuration values contained within a typical Smart String.
Example 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 Entry > Record
Creation > Part Creation sheet to designate the input name, start position and end position for each
of the configuration input values.
When you select this check box, it also supports automated processing of incoming configuration parts
data by the EDI and Demand Management module functions in the Epicor application. This allows Smart
String configuration strings contained in incoming EDI records to be properly processed and passed to
Demand Entry for demand management processing.
51
Clear the Incoming Smart String check box for the Configurator to operate in the traditional manner and skip
use of a Smart String configuration.
Note While similarly named, the Incoming Smart String check box is not related to the Smart String
functionality defined in the Configurator Entry > Record Creation > Part Creation sheet.
That functionality defines if or how a special identifying number (a Smart String, or unique part
number) should be constructed by the Epicor application to identify a configuration of this part,
based on the entries made during a traditional configuration session in Order Entry, Opportunity/Quote
Entry, Purchase Order Entry or Job Entry.
It identifies the configuration for customer reference, and it (optionally) prints on quote or order
acknowledgment forms associated with this part.
Allow Reconfiguration - Specifies if a configuration that was originally configured in another entity can be
reconfigured in the new entity.
Example If you configure a buy direct configuration in Sales Order Entry and transfer it to Purchase
Order Entry, this check box designates whether the buyer can reconfigure the purchase order line that
was originally configured by the sales person. This check box has no bearing on reconfiguration within
the same entity, meaning that if the configuration is configured in Sales Order Entry, the salesperson
is always allowed to reconfigure in Sales Order Entry.
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.
52
Example
Wavy Rider Products created a single Wavy Rider Configurator ID that will be linked to the base model part
revision in the Configurator ID field in the Part Maintenance > Part > Revisions > Detail sheet. It includes
the following parameters:
53
54
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 create the base universal part, you then create revision numbers and tie a Configurator ID to it.
The Part Revision is a number or letter that represents the number of times that a part specification has been
modified. 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. You enter revision information
into the Part Maintenance > Part > Revisions > Detail sheet.
You must also enter the Configurator ID you wish to link to the part revision. The specified Configurator ID
must first be created in Configurator Entry. Assigning a Configurator ID links the part revision to a specific
configurator process you create for the Configurator ID in the Configurator Designer.
Note Refer to the Configurator Entry and Configurator Designer topics for more details.
55
Once you assign a revision number and Configurator ID to a top-level base configured part, you check out the
part revision 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, you develop a Method of Manufacture in the Engineering Workbench.
The Method of Manufacture you create in the Engineering Workbench for a configured part is defined by
the part revision. Refer to the Method of Manufacture topic in the Method Rules Definition section for
more details.
Once you define a Method of Manufacture for the configured part/revision in the Engineering Workbench,
you must approve the revision in the Revision > Detail sheet (in Engineering Workbench) and then check it in
using the Revision > Check In option on the Actions menu in the Engineering Workbench.
You then enter revision information for the top-level base configured part in the Revisions sheet in Part
Maintenance.
56
To create a new revision for the configured base part, select New Part Revision. These are the Configurator-related
values you can modify for this item:
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 displays 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.
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.
Description - Enter a brief description of the revision. You can enter a longer detailed description of the
reason(s) for the revision on the Revision Change Description sheet.
Draw - Enter any optional engineering drawing reference. This displays as a default reference in Job Entry.
Configurator ID - Enter the Configurator ID you wish to link to this part revision, or click Configurator ID
to search for and select an existing Configurator ID. The specified Configurator ID must first be created in
Configurator Entry. To access Configurator Entry, select Revisions > Configurator Entry from the Actions
menu. Assigning a Configurator ID links the part revision to a specific configurator process you create for the
Configurator ID in the Configurator Designer.
To access Configurator Entry, select Revisions > Configurator Entry from the Actions menu. The following
information displays from the Configurator ID record:
Configurable - If selected, this check box indicates that the revision either has a configuration linked to
it, or the bill of materials (BOM), created for the revision through the Engineering Workbench, contains a
material or subassembly that has a revision with a configuration linked to it
57
Web Configurable - If selected, this check box indicates the revision can be configured in the web-based
StoreFront.
Show Input Price on Web - If selected, this check box indicates that the input prices will be shown in
the Customer Connect Configuration Review.
Note Refer to the Configurator IDs and Configurator Designer topics for more details.
58
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 displayed when you select
Check Out Revision:
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 the general guidelines for defining a part and a Method of Manufacture for the part:
1.
Create 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.
2.
Create 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.
3.
Check out the revision to an ECO group - From the Actions menu in Part Maintenance, select 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.
4.
Define 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.
Note Refer to the Method of Manufacture topic for more details.
5.
Approve and check in the revision - When you've 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.
59
Example
Wavy Rider Products decided to define a single general WR-Configurator part that acts as a "placeholder" for
subsequent selection of a pontoon boat model, based on its intended use. It included the following parameters:
60
For the initial configurator release, Wavy Rider Products created a part revision in the Part Maintenance > Part >
Revisions > Detail sheet that included the following parameters:
When their pontoon boat model line undergoes a significant redesign in the future, they can create Revision B,
and then associate a new Configurator ID they create in Configurator Entry to it.
61
Use Configurator Lookup Table Maintenance to import CSV files into your database, allowing the Configurator
fast access to the imported data. Once you import the data, you can use SQL queries to access them, instead of
loading files into memory every time the Configurator requests them. You create columns and column rows
containing values used as a source for Combo Boxes and Expressions during a Configurator session.
Configurator Lookup Table Maintenance enables you to:
Define columns and rows on the fly.
Store columns and rows in reusable (template) column sets.
Import and Export CSV spreadsheet files.
Use the Lookup Table sheet to define a new Lookup Table record as well as create new column sets with
columns. You must enter a new Column Set record before you create column(s). You can also save a Column
Set as a template so that you can reuse the same data structure for different content.
Once you import data from an external CSV file, you can review it or modify the imported data as needed in the
Detail sheet to create a lookup table for use in combo boxes and expressions you define in the Configurator
Designer, Configurator Entry, and Configurator Rule Entry. This allows for retrieval of the formatted data during
actual configuration sessions. Storing this lookup data on a client-side server enables you to regularly back up
this data with the rest of your configurator data.
Example You can use a lookup function within an On Field Changed event to populate Dynamic List
combo boxes and update an input through retrieval of values from a specified lookup table.
Note Refer to the Lookup Functions section for a detailed listing of these functions.
62
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
System Setup > System Maintenance > Lookup Table
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > Setup > Configurator Lookup Table
63
2.
Select Leading Sign on Negative Numbers Only to allow entry of negative numbers with a sign
( -) in front of the number.
Character Format - This window displays as a result of selecting the String option in the Value Type
field. Use this window to specify the number of allowable characters that can be entered into the column
fields. The Character options include the following:
1.
Any Character - Any character (for example, alphanumeric, punctuation marks) can be entered.
2.
Date Format - This window displays as a result of selecting the Date Time option in the Value Type
field. Use this window to specify the allowable date format that can be entered into the column fields.
Once you define columns, from the New menu, select the New Lookup Value Row option to manually add a
data row to the existing columns.
In the grid, a new row opens for entries.
Enter values for the previously defined columns. For example, if the column value type is Decimal, enter a
numeric value in this column.
When you finish, click Save. Repeat these steps to add additional lookup table rows.
64
Use the Import command on the Actions menu in Configurator Lookup Table Maintenance to mport column
and row data contained in an external CSV spreadsheet file to the configurator data lookup table specified in
Configurator Lookup Table Maintenance.
When importing a CSV file, you can create a new configurator data lookup table where columns are
automatically created based on the imported data, or you can update an existing configurator data lookup
table where columns are updated based on the imported data.
You can also append imported values data to row and column values data that already exists in the specified
configurator lookup table, or replace existing row and column values data with the imported data.
After selecting the CSV file to import in the Source File Name field, you use the Column Options and Value
Options fields to specify how column and values updates should be handled in the specified configurator data
lookup table when you import column and values data from the CSV file.
Column Options
Specify how column updates should be handled in the Epicor application database when you import column
data from the CSV file. The field includes the following options:
Update - If columns have been created or deleted in the imported CSV file compared to what currently exists
in the configurator data lookup table, the Epicor application automatically updates the specified configurator
data look up table with the imported column data changes.
Warn - The Epicor application creates a warning Yes/No message stating columns have been created or
deleted in the imported CSV file.
Click Yes to create or delete columns in the specified configurator data lookup table.
Click No to ignore column data changes if the columns already exist in the specified configurator data lookup
table. If columns do not currently exist in the Epicor application database, the Epicor application automatically
creates the new columns in the specified configurator data lookup table.
Note If there are less rows or columns in the file, and update or delete of columns is not allowed, then
the rows and columns that are not in the imported CSV file remain in the specified configurator data
lookup table.
Note If there are more rows or columns in the imported CSV file, and update or create of columns is
not allowed, then the new rows and columns in the imported CSV file are not added to the specified
configurator data lookup table.
Values Options
65
Specify how value updates should be handled in the Epicor application database when you import values data
from the CSV file. The field includes the following options:
Append - Values data imported from the CSV file is appended to values data that already exists in rows and
columns in the specified configurator lookup table.
Replace - Values data imported from the CSV file replaces values data that already exists in rows and columns
in the specified configurator lookup table.
Example
Using Configurator Lookup Table Maintenance, Wavy Rider Products created a WRModels lookup table by
importing the following spreadsheet; it lists which pontoon boat models support which selected activities.
66
67
Use the Configurator Lookup Table Maintenance > Detail sheet to review columns and modify rows after
you import data into Configurator Lookup Table Maintenance from an external CSV file.
The grid located in this sheet is similar to a spreadsheet. Once you manually add columns, using the Lookup
Table sheet, the new column headings display in the Detail sheet.
You can then add value rows for these columns to enter any required data.
Using Lookup functions added to expressions you define in the Configurator Designer, Configurator Entry, and
Configurator Rule Entry, you can retrieve data during actual configuration sessions. For example, you can use a
lookup function within an On Field Changed event to populate Dynamic List combo boxes and update an input
through retrieval of values from a specified lookup table.
Note Refer to the Lookup Functions section for a detailed listing of these functions.
68
Configurator Design
Configurator Designer
Use the Configurator Designer to define a structured configuration process that data entry personnel can use
to configure a universal base part number and revision when entered into Sales Order Entry, Opportunity/Quote
Entry, Job Entry, Purchase Order Entry or Demand Entry. The Configurator Designer is the focal point for
defining a configuration process associated with a specific Configurator ID created in Configurator Entry.
Using the Configurator ID field in the Part Maintenance > Part > Revisions > Detail sheet, you assign the
Configurator ID to specific part number revisions. This provides you with great flexibility in terms of how you
define and assign configurator processes for different parts.
Use of a Configurator ID enables linking of a single product configurator definition to, and possible use of it
on multiple part revisions for multiple parts. For example, you could use the same product configurator
definition on different part numbers, or part revisions for similar products.
You can also use the Configurator Designer, with another assigned Configurator ID, to create a configuration
process for Revision B that differs from the one developed for Revision A for the same part.
A configurable product has characteristics, which can have different values. When configuring a product using
a particular revision of a base unit part, you can select the input values you want and so determine a specific
attribute for the configurable product. This allows you to create unique items according to customer requirements.
The Configurator Designer is:
An expert system used to capture engineering and product design knowledge.
69
A tool used to create a repository containing the component parts and operations required to satisfy all
possible configurations for a base item.
A tool that defines the manner in which attributes and controls placed on the Design > Page Designer sheet
should operate.
A tool where you create Page Events for your configurator.
The Configurator Designer contains the following sheets; refer to the Application Help and associated topics in
the Implementation Components and Calculations section of this document for more details on each sheet:
Configurator- Use these sheets to edit and test On Load, On Loaded, On Complete or On Save configurator
events.
Designer - Use these sheets to create configurator input page(s), define input control parameters, input page
behavior, dynamic lists, and global variable inputs (among others) for the selected configurator ID. These are
the actual input pages that display when you configure the base part during an actual Configuration session.
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.
Note Since all Configurator inputs and outputs are rules based, the Configurator Designer is known as a
rules-based expert application, one that makes decisions which flow from the associated rules. These rules
utilize Boolean logic to direct the Configuration process to include a particular component part, raw material,
or sub-assembly in the quote or job materials list. Use the Configurator Designer to create input pages,
prompting for the input data necessary to execute the rules, and then create rules in Configurator Rules
Entry according to the decisions the Configurator Designer must perform.
Refer to Use of Configuration Rules for more details on each type of configuration rule that can be
defined in the Configurator Designer.
70
To create a configurator process for a Configurator ID, from the New menu, select New Configurator. These
are the values you can modify:
Configurator ID - Enter the Configurator ID you wish to link to this configurator process or click Configurator
ID to search for and select an existing Configurator ID. The specified Configurator ID must first be created in
Configurator Entry.
Description - Enter a brief description of the configurator process.
Configurator Type - Indicates the type of the configurator associated with the specified Configurator ID.
The options include the following:
Product Configurator - Can be linked to part revisions if the part is a non-stock item. These configurations,
when approved, will be available in Quote Entry, Order Entry, Demand Entry, Job Entry and Purchase Order
Entry. The Product Configurator type activates the following configuration programs:
1.
Configuration Entry
2.
Configuration Designer
3.
Inspection Plan Configurator - Can be linked to inspection plans. These configurations, when approved,
are available in Inspection Data Collection, which you access from various programs, such as Inspection
Processing, Time or Expense Entry (MES, or the Main Menu). The Inspection Plan Configurator type activates
the following configuration screens:
1.
Configurator Entry
2.
Configurator Designer
Important The Inspection Plan Configurator type is only available if the EQM license is installed.
Approved - Select this check box to approve the configuration. You normally do this is after you have
completed the design and testing of the entire configuration for the selected part revision. Whenever you
change this check box, the Design of Change dialog displays; you must enter free-form text about the nature
of the design change. This check box must be cleared if you want to change the configuration. To change
an existing approved configuration, clear this check box.
71
Use the Configurator Designer > Configurator > On Load, On Loaded, On Complete and On Save sheets to
specify the conditions that designate actions that should occur when particular events take place for an input
page during an actual configuration session.
For example, you manually enter and edit Configurator events using the Edit button. In the Event Expression
field, build expressions that assign values to other inputs after leaving the current control or field, or that call
external programs to perform additional processing.
These event types include:
On Load - Executes Server side expressions before the configurator page loads.
An On Load event triggers when the configuration loads; it executes on the Server context (no controls are
available only values). On Load expressions can be calculations setting initial input field values but they cannot
change the screen layout or send messages to the user. This is because the On Load event expressions run
on the server. In the On Load configurator, it is possible to set the configuration as complete, which skips all
pages but will execute the On Leave event of each page and the On Complete event of the configurator.
Note The event can cancel loading of the configurator. If a previous configurator was available, the
application returns to it. If no previous configurator was available, a message displays indicating the
reason for the cancellation. You can change the message and close the session.
Example
//Page Load
if(MessageBox.Show("Do you want to complete this configuration?", "Compl
72
Cc
2.
3.
Bb
4.
73
5.
The reverse order is useful if you create KeepWhen rules for the sub-configurators and it is not clear
which sub-configurator is the last in the configuration sequence. By creating an expression in the On
Save event for the top configurator (in the example configurator A), it is certain that the expression will
be executed.
Important This event cannot be executed after completing a configuration session.
Example
//Configurator Save
using(System.IO.StreamWriter writer = System.IO.File.AppendText(@"C:\tem
p\ConfigDump\ConfigTests\CV-8400A.log"))
{
writer.WriteLine(string.Format("{0} - Testing: {1} - Configuration S
aved", DateTime.Now, SaveArgs.IsTest));
IEnumerable<Erp.Tables.Part> partList =
(from part in Db.Part
where part.Company == Session.CompanyID
&& part.TypeCode == "K"
select part);
foreach(var kitPart in partList)
{
writer.WriteLine(string.Format("----------> Found Kit Part: \"{0
}\" Description: \"{1}\"", kitPart.PartNum, kitPart.PartDescription));
}
}
Important When you select the Actions > Test Inputs command in the Configurator Designer, the code
executes once the Configurator loads. This is where the configuration level event logic applies. The Load
and Save events run on the Server context, whereas the Loaded and Complete events run in the Client
context. When a method/event runs in the Client context you get access to the input controls and the state
of the client to perform GUI operations (for example, sending a dialog box to the user). When you
configurator page in the Server context, you have no visibility of the client but you have access to the
database and can perform server-side operations (for example, query the database and do something with
the selected records).
Note Use Design > Page Designer - Input Properties in place of this sheet if you wish to specify the
conditions that designate the actions that should occur when you exit a particular input control during
an actual configuration session.
74
The Event Expression field displays the code expressions you create in the Code Editor for the event.
Use the Configurator Designer > Design > Page Designer sheet to design the input pages that display when
a user configures the universal part/revision (with a linked Configurator ID) in Order Entry, Opportunity/Quote
Entry, Job Entry, Purchase Order Entry, or Demand Entry. The Page Designer sheet displays as a blank canvas that
you use, in conjunction with Toolbox and Input Properties panes, to design the appearance of the configuration
input page used in those programs.
The Toolbox is a vertical menu with buttons you drag and drop to place specific types of controls on a
configurator input page; the default is a pointer you use to select a field for edit or deletion.
75
It can also be used to move other controls on the input page you are designing. 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 enter, or needs to select in order to create a custom
configuration for the universal part.
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 Design > Page Designer sheet and Toolbox in conjunction with the Input Properties pane that displays
immediately below the Toolbox pane. You use the Design > Page Designer sheet to define the manner in which
the input page should be laid out, while you use the Inputs Properties pane to define the manner in which each
of the attributes and controls you place on the input page should operate.
As you select a control from the Toolbox and place it on the Design > Page Designer sheet, click the Inputs
Properties pane to define the attributes of the control. For more details, refer to the Design > Page Designer
- Input Level Properties and Actions topic.
Note In lieu of using the Input Properties pane, all controls you place on an input page also display
and can be defined in the Configurator Designer > Designer > Input List sheet.
In general, you should complete the general layout of the input page prior to defining the operational
parameters for each input control using the Input Properties pane or the Input List sheet. It is easier to define
the logic that applies to each input when the layout of the input page can be easily viewed while in the input
controls definition phase.
76
Character - Use to place a field on the input sheet that prompts for entry of a fixed length, single-line character
string.
You can use these fields 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.
Numeric - Use to place a field on the input sheet that requires entry of integer (whole number) values that
do not contain decimal places.
Decimal - Use to place a field on the input sheet that requires entry of numeric data with decimal places.
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.
Button - Use to place a button that allows users to manually execute a code expression.
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 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.
A radio set then allows you to select 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.
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 Design > Page Designer 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.
77
After you create a configurator input page in the Design > Page Designer sheet, use the Properties and Actions
options on the Input Properties pane as needed to define the manner in which the entire input page should
operate, and the actions that should occur when using the page during an actual configuration session.
78
After you create a configurator input page in the Design > Page Designer sheet, you can use the Input Properties
pane and its settings as needed to define general page behavior during a configurator session. For example, you
can define the input page behavior in relation to the Dynamic List or On Leave expressions. It consists of the
following sections:
Behavior - Includes parameter settings that designate the behavior of the selected input control page.
Control Details - Includes parameter settings that designate the page number and title.
79
To define page properties using the Input Properties pane, select Pointer from the Toolbox, then click the input
page for which you wish to define operation properties.
Behavior
This section includes parameter settings that designate the behavior of the selected configurator input page.
Read Only - Select True if this is a read-only configurator input page that only displays configuration
information and cannot be used for entry of configurator values.
Read Only Expression - If you select True in the Read Only parameter, you can click the button to the
right of this parameter to access the Free Code Editor Form to enter C# code syntax that defines the
conditions under which this configurator input page functions in a read-only manner.
Skip page if all inputs are disabled or invisible - Select True to skip a configurator page if all of input
controls on the page are disabled or are invisible (if designated as such in the Invisible parameter in Input
Properties pane - Input Properties).
If an input page controls multiple inputs, which all can be disabled or hidden, based on various values from
previous inputs, a user that entered the configurator has to verify whether all inputs are disabled or invisible,
and then finally disable or enable the page. If this setting is set to True, the page is skipped directly.
Control Details
This section includes parameter settings that designate the configurator page number, title, and size.
Page - Specifies the configurator input page number.
Once you select the page number in this form, it cannot be updated once saved.
The page sequence is similar to the tab order you define for inputs. When configuring a part in an actual
configuration session, this page sequence is the order in which the pages display when you click the Next
Page or Previous Page buttons.
Page Title - Enter the free-form title for the configurator input page you are creating for this configuration.
This title displays in the configurator input page during an actual configuration session in Opportunity/Quote
Entry, Order Entry, Purchase Order Entry, Job Entry, or Demand Entry.
Size - Specifies the size of the configurator input page when in focus during an actual configuration session.
Alternately, you can select the actual page in the Page Designer and manually stretch it as needed; doing this
automatically updates this parameter.
Width - Enter the total width (in pixels) for the input page you are creating for this configuration.
Height - Enter the total height (in pixels) for the input page you are creating for this configuration.
80
After you create a configurator input page in the Design > Page Designer sheet, you can use the Actions parameter
settings in the Input Properties pane as needed to define the actions that should occur for that particular input
page during an actual configuration session. Based on the expressions you enter, the Epicor application informs
you when the configurator page is loading, loaded, or that you are leaving the page.
The page action(s) you select in this section control the page behavior during your configurator session.
Once you define actions and associated code syntax, you can use the Test Inputs selection on the Actions
menu to test them.
On the Page Designer sheet, select the input page for which you are defining page actions. You can define the
following types of page level actions:
On Page Leave - To create an On Page Leave action, click the button on the right to access the Free Code
Editor window to enter an appropriate C# code expression.
This action triggers when you leave the specified page while it is in focus during a configuration session, when
you move forwards or backwards between configurator pages. The page leave action does not trigger any
other action unless specifically defined as an action.
Example
MessageBox.Show(''Page is Leaving'');
On Page Load - To create an On Page Load action, click the button on the right to access the Free Code
Editor window to enter an appropriate C# code expression.
This action triggers when the page in focus is loading during a configuration session, either upon the first
load or you move forwards or backwards between configurator pages. The page load action does not trigger
any other action unless specifically defined as an action.
81
Example
MessageBox.Show(''Page is in a Load stage'');
On Page Loaded - To create an On Page Loaded action, click the button on the right to access the Free
Code Editor window to enter an appropriate C# code expression.
This action triggers when the page is loaded during a configuration session. At this point you cannot cancel
loading.
Example
MessageBoxShow(''Page is Loaded'');
82
5. To enter the On Page Leave, On Page Load, or On Page Loaded actions, click the button displaying in
the selected action line. The Code Editor displays.
Use the Code Editor as needed to create C#-based code syntax for client side actions, client side expressions,
document rule expressions, and method rules expressions. You can use it as needed to construct complex
expressions that combine input values collected during an actual configuration session with logical operators,
user defined functions, context functions, and lookup functions.
Note For detailed information on its use. refer to the Code Editor topic.
6. Depending on which action you wish to define, in the Code Editor, enter an expression and click OK to
confirm your entry.
Example Enter the following expression for an On Page Leave action:
MessageBox.Show(''Page is Leaving'');
Example Enter the following expression for an On Page Load action:
MessageBox.Show("Page is in the load stage");
Example Enter the following expression for an On Page Loaded action:
MessageBox.Show("Page is loaded");
83
Use the Input Properties pane or the Configurator Designer > Design > Input List sheet in conjunction with
the Toolbox in the Design > Page Designer sheet to define the manner in which attributes and controls you
place 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.
You can use Input Properties pane or Design > Input List sheet interchangeably to define input control attributes;
they differ in how they operate but you use either for the same purpose.
You can also define On Field Changed and On Field Validating code expressions as needed for each control.
84
After you place input controls on the configurator input page in the Design > Page Designer sheet, use the input
properties settings in the Input Properties pane to specify detailed information for each of the entered inputs.
These define the manner in which attributes and controls place on the input page should operate. It consists of
the following sections:
Appearance - Includes parameter settings that designate the name and defines the appearance of the selected
input control.
Behavior - Includes parameter settings that designate the behavior of the selected input control. Only those
settings that pertain to the selected control type display in this section of the Input Properties pane.
Control Details - Includes parameter settings that designate the format, location and size of the selected
input control, and displays the data type and page number on which the input control is located.
Inspection Attribute - Includes parameter settings that designate the inspection attribute properties for the
inspection plan (if any) assigned to the selected input control.
Note Not all parameter settings display for a selected input control in each of the sections. The specific
parameter settings that display are dependent on the type of input control selected.
For example, if you are defining a Editor type control, Minimum Value, Maximum Value, and
Increment parameters do not display in the Behavior section because they do not apply.
However, these parameters would display for Decimal type controls.
85
When you add specific controls to the input page you are designing in the Design > Page Designer sheet, the
Epicor application sets certain parameter defaults in the Input Properties pane (and the Design > Inputs List
sheet) for the control type that is being added.
The program assigns a temporary input name (for example epicPCTextBox1) you can change in the Input
Properties pane or Design > Inputs List sheet prior to saving the record. Once you save the record, you cannot
change the input field anem.
It also automatically populates the Location, X and Y parameters in the Input Properties pane (and the X
Position and Y Position fields in the Design > Input List sheet) with the correct horizontal/vertical placement
coordinates, depending on where you placed the control on the input page.
If you move a control using the control handles in the Design > Page Design sheet, the Epicor application
automatically updates the Location, X and Y parameters in the Input Properties pane (and the corresponding
fields in the Design > Input List sheet) with the new location of the control (horizontal/vertical placement
coordinates).
If you resize a control using the control handles in the Design > Page Design sheet, the Epicor application
automatically updates the Size, Height, or Width fields in the Input Properties pane (and the P Height or
P Width fields in the Design > Input List sheet) with the new sizes for the control.
To test the inputs once you define 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.
Note You can also use the Design > Page Designer > Input List sheet in place of, or with the Input
Properties pane.
It allows you to view a sequential listing of controls placed on a configurator input page, and select one
for definition of operation attributes,
The operation attribute settings display in a field entry format similar to List sheets throughout the
Epicor application.
86
Appearance
This section includes parameter settings that designate the name and define the appearance of the selected input
control.
(Name) - Displays a system generated name for the control. The Epicor application uses this to internally
identify controls you place on the configuration input page, to identify the control when creating rules or
when setting up input-based pricing. The input name does not display to the user during an actual configuration
session in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry, or Demand Entry.
Note When you first place an input control on the Page Designer, you can enter your own unique
name to identify it. However, once you save the page design, you can no longer change it.
Adhere to a standard naming convention to keep track of inputs. For example, preface Global input
names with the letter g; you should preface variables that not global with a letter other than g.
Use the Memo selection on the Actions menu to document the purpose of the control, and
alternately, use a separate spreadsheet to list all inputs, stating the configuration, intent, and control
label.
Hide from Summary - You can view Configuration Summary page by clicking a Configuration button after
you configure 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) entered
for the configuration. Select True if the control you are defining should not display in the Configuration
Summary grid during the reconfiguration of a part.
Label - Enter the literal text that displays next to this control on the input page during an actual configuration
session in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry, or Demand Entry.
Summary Label - Enter the abbreviated literal label that should be used in places where the full label may
not fit. Enter the literal text (for example, Mem Size) for the label.
Tooltip - Enter the literal text that should display during a configuration session when the mouse moves over
the control you are defining. For example, Enter the text for the tool tip.
Behavior
This section includes parameter settings that designate the behavior of the selected input control. Only those
settings that belong to the selected control type appear in this section of the Input Properties pane.
Dynamic List - Use this parameter to launch the Dynamic Lists Editor where you define a dynamic list for
a selected combo box control on a design page. A dynamic list is a set of option selections that are dynamic
in nature (that is, the displayed options change if certain conditions are satisfied). Unlike standard combo-boxes
that offer a fixed set of choices, dynamic lists affix choices based on conditions established in the Dynamic
Lists Editor. To create a fixed, rather than dynamic list of options, leave this parameter set to False and use
the List Items parameter instead.
Note Rfefer to the Dynamic List Editor topic for more details.
Global Input Variable - Select True if you wish to associate a global variable with this control. This designates
that the value you enter 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 parameter. A global input variable
shares values between sub configurations. Select False if no global input variable is associated with the control.
Global Input Variable Name - If you select True in the Global Input Variable parameter, select the
corresponding global input variable the Epicor application updates when the value of this input control is
changed during a single configuration session. The selections that display are those defined using the Global
Input Variables selection on the Configurator Designer Actions menu. It only displays selections that have
87
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 display.
Note For detailed information, refer to the Global Input Variables topic.
Horizontal - Changes the layout of the radio set on the page to horizontal.
Increment - Specifies the increment value for the input control. The increment determines increase of the
value.
Example Enter 5 into the Minimum Value parameter, 50 into the Maximum Value parameter, and
5 into the Increment parameter if you allow entry of values from 5 to 50, at increments of 5 (into the
numeric control you are defining) during an actual configuration session.
Initial URL - Specifies the initial value of the URL upon load of the configuration for the first time. This only
applies to Browser type controls.
Example For a Browser input control, enter the default URL (if any) for the control (for example,
http://epicor.com). This is an optional parameter; leave it blank if you do not want a default value to
display in this control during an actual configuration session.
Initial Value - Specifies the initial value of the input control upon load of the configuration for the first time.
This is an optional parameter; leave it blank if you do not want a default option selection to display in this
combo box during an actual configuration session.
Example For a Decimal input control, enter the default value (if any) for the control (for example,
1.2). This is an optional parameter; leave it blank if you do not want a default value to display in this
control during an actual configuration session.
Example For a Combo Box input control, specify the default option selection (if any) (for example,
Green). This is an optional parameter; 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
control must be one of the list items specified in the List Items parameter.
Invisible - Select True if the control you are defining should not display on the input page during a
configuration session.
List Items - To create the list of fixed options you can select in the control (usually a combo box) during a
configuration session, click the button on the right to access the Value/Description List Editor window.
The Value/Description List Editor window allows you to enter the list of input options with their descriptions
for the selected input.
Maximum Value - Specifies the maximum value (if any) you can enter into the input control.
Minimum Value - Specifies the minimum value (if any) you can enter into the input control. Use the Maximum
Value, Minimum Value and Increment parameters to specify a range of valid numbers (and possible
increments) you can enter into the control in an actual configuration session in Order Entry, Opportunity/Quote
Entry, Purchase Order Entry, Job Entry, or Demand Entry.
For example, enter 5 into the Minimum Value parameter, 50 into the Maximum Value parameter, and
5 into the Increment parameter if you allow entry of values from 5 to 50, at increments of 5 (into the
numeric control you are defining) during an actual configuration session.
These are optional parameters; leave them blank if the numeric values you enter during the actual
configuration session do not have to fall within a specified numeric value range.
88
Publish to Doc - Select True to share values between input fields with the same name used in configurators
linked to lines of the same document.
An input control marked as Publish to Doc publishes its value to the originating document (entity), for
example, a sales order.
If another configurator contains the same input field, for which it is marked as Publish to Doc, and it is
also used on another line of the same document (entity), the input field gets its initial value from the
published value of the previous line. If you change the value in the second line, the first line does not
update.
Note The second line can use the same configurator part or a different part. Typically, you use this
feature to share data like color and price between document lines (for example, sales order lines).
Read Only - Select True if this is a read-only control that only displays configuration information and cannot
be used for entry of configurator values.
Read Only Expression - If you select True in the Read Only parameter, click the button to the right of this
parameter to access the Free Code Editor Form to enter a code expression that defines the conditions under
which this input control functions in a read-only manner.
Required - Select True if this control requires mandatory entry of a value during an actual configuration
session.
Show Distinct Items - Select True to specify that 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 is created through a dynamic list, whether calculated from a static
list or based on running a program or BAQ.
Tab Order - Specifies 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 is the order in which you enter
the fields on the input page. The higher the number you enter into the parameter indicates the depth into
which the control displays in the Tab order. Read-only controls should not have a tab value.
Valid List - Specifies a list of valid (allowable) responses (entries) in a Character type control. To create the
list of valid entries, click the button on the right to access the Value List Editor window. The Value List Editor
window allows you to enter the list of allowable values for the selected input.
Control Details
This section includes the parameter settings that designate the format, location, and size of the selected input
control, and displays the data type and page number on which the input control is located. The specific options
that display depend on the type of selected input control.
Data Type - Displays the data type for the input control you are defining. The values are:
Boolean
DateTime
Decimal
String
Format - Specifies a format for the input control; this is only available for Character, Date, and Decimal
controls.
For Character controls, click the button to the right to launch the Data Format Editor. Use the Data Format
Editor to define Length and Characters. For instance, Letters Only or Numbers Only.
89
Location - Specifies the relative location of the input control on the page in the X and Y coordinates. Use
these parameters to designate the precise placement and sizing of the control.
X - Specifies the X-position of the input control on the page.
Y - Specifies the Y-position of the input control on the page.
Note Use the X and Y parameters to specify the X and Y coordinates, allowing you to precisely
place the control vertically and horizontally on the input page. These parameters display when you
open the Location parameter.
Size - Specifies the size of the input control. Alternately, you can select the actual control in the Page Designer
and manually stretch it as needed; doing this automatically updates this parameter.
Width - Specifies the width of the input control. It allows you to specify, in pixels, the width of the input
control.
Note If the width for the Character, Decimal, or Editor input controls is set to zero, those controls
do not display on the input page you are designing. This is very useful for storing data you can use
in rules or pricing.
Height - Specifies the height of the input control. It allows you to specify, in pixels, the height of the input
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 parameter.
For example, if the input control you place on Input Page 2, 2 displays in this parameter.
If you wish to move an existing control to another input page, enter the page number into this parameter.
For example, if the input control you 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 parameter. The Epicor application then moves
the input control to the designated page and displays the change in the Tree view.
Text - Enter the text that displays on the page for Button or Rectangle controls during the configuration
session.
Inspection Attribute
This section includes parameter settings that designate the inspection attribute properties for an inspection plan
(if any) assigned to the input control.
External Ref - Select True to enable referencing of an external source. This allows you to select a correct
attribute type for the current input.
Note If you use an external reference, the Initial Value, Label and Tooltip parameter settings may
come from the Attribute Select Trueproperties.
Insp Attribute ID - If you selected True in the External Ref parameter, specify the inspection attribute linked
to the input control. Click the button to the right to access the Inspection Attribute Editor to select an
inspection attribute.
Note You use this parameter only for an Inspection Site Configurator; you would not use it for a
Product Configurator.
Use Increment - Select True to use the increment of the attribute. If False, use the increment of the input
control.
90
Use Initial Value - Select True to use the initial value of the attribute. If False, use the initial value of the
input control.
Use Item List - Select True if you want to create a list of fixed options that you can select from the combo
box during a configuration session. To create a list of items, use the List Items parameter. If False, use the
item list of the input control.
Use Label - Select True if you want to use the label of the attribute. To enter a label, use the Label parameter.
If False, use the label of the input control.
Use Max Value - Select True to use the maximum value of the attribute. If False, use the maximum value
of the input control.
Use Min Value - Select True to use the minimum value of the attribute. If False, use the minimum value of
the input control.
Use Tooltip - Select True if you want to use the tooltip of the attribute. A tooltip is a literal text that should
display during a configuration session when the mouse moves over the control being defined. If False, use
the tooltip of the input control.
Use Initial URL - Select True to use the initial URL of the attribute. If False, use the initial URL of the input
control.
91
92
To create a dynamic list for this control, the Dynamic Lists Editor was invoked by clicking the button to the right
of the Dynamic List control. Select Data Lookup Method in the Data Source field, and Data Row Range
List in the Data Lookup field, motor information can be retrieved from the WRMotorOptions lookup table.
This method has two parameters - rowname, startcolumn, and startcolumn.
The rowname is the value of the cmbModel input field (the selected pontoon boat model), the startcolumn
contains Motor1 and the endcolumn contains Motor3
Based on these parameters, the data row lookup list method returns a list of one to three allowable motor
type selections.
93
94
After you place input controls on the configurator input page in the Design > Page Designer sheet, use the
Actions options in the Input Properties pane as needed to define actions that should occur for a particular
control (field) on an input page during an actual configuration session.
To enter input level actions, first select the input control in the Page Designer sheet. You can define the following
types of input level actions:
On Field Changed - Use this parameter setting to define the specific actions that should occur when you
exit a particular control (field) on an input page during an actual configuration session. To create an On Field
Changed action, click the button on the right to access the Code Editor window to enter the appropriate
C# code syntax. Click OK to confirm the entry.
An On Field Changed action triggers when you change the value of the specified control on an input page
while it is in focus and saved during an actual configuration session. Compared to the On Field Validation
action, which triggers when you change the value of the specified control on the page while the page is in
focus prior to saving the value, the change already happened. The On Field Changed action does not trigger
any other actions unless specifically defined as an action.
Example You create a Length field on your configurator page and would like to be prompted with
a question whether you want to change the Length input value. If you click Yes once the message
displays, the value will be automatically changed to 20.
if(MessageBox.Show(Do you want to change Length input?'',''FieldChanged'
'.MessageBoxButtons.YesNo.MessageBoxIcon.Question)==
DialogResultYes)
{
Inputs.Length.Value = 20;
}
95
Note The On Field Changed action does not trigger until you leave the field.
On Field Validating - Use this parameter setting to define the specific actions that should occur when a user
changes the value of a particular control (field) on an input page during an actual configuration session. To
create an On Field Changed action, click the button on the right to access the Code Editor window to enter
the appropriate C# code syntax. Click OK to confirm the entry.
An On Field Validation action triggers when you change value of the specified control on an input page while
the page is in focus prior to saving the value during an actual configuration session. Compared to the On
Field Changed action, the change can still be prevented. The field validation action does not trigger any other
actions unless specifically defined as an action.
Example You create a Length field on your configurator page and would like to be prompted to
validate the newly entered value you enter in this field.
MessageBox.Show(''Field Validate'');
7. In the Code Editor, in the Editor box, below the Available Selections and Functions panes, enter the
C# code syntax for the On Field Changed or On Field Validating action.
8. When you finish, click the Check Syntax button to perform C# code syntax validation.
The Syntax is correct message displays. This message confirms that there are no errors in the entered
expression.
9. To the message, click OK.
10. In the Code Editor, click OK to confirm your entry.
96
11. To test whether the entered expression works, from the Actions menu, select Test Inputs.
The Test window displays.
12. In the first input control field, enter a value and press the Tab key.
This is the input control for which you entered the expression previously. If you followed the suggested
examples above, this input control field is called Activities. You can enter any value in this field. For example,
enter Titanium.
Important The label for the second input control field on the page automatically changes.
If you followed the suggested examples above, the label for the second input control field changed
to Red.
Logic/Algorithms
During an actual configuration session, the Epicor application processes On Field Changed logic when you
physically leave a control during a configuration session. On Field Changed logic should never accompany a
display-only input.
If On Field Changed logic is defined on the first input that updates the value of a second input, and On Field
Changed logic is also defined for the second input, the Epicor application does not process the On Field
Changed logic for the second input.
The program also processes dynamic list logic (if any) when you leave any control that has associated On Field
Changed logic. It processes the dynamic list logic after the On Field Changed logic is processed.
If On Field Changed 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 depends on the value you enter in the second input, it processes
the dynamic list logic using the new value assigned in the second input.
97
Example
To automatically refresh the Color and Motor control selections when the Model control selection changes,
you can add the following code syntax to the On Field Changed event defined for the cmbMotor control:
Note The Refresh.DynamicList() function only refreshes the dynamic lists associated with the
combo boxes listed as parameters. If no specific combo boxes are listed, the program refreshes all controls
on the input page that contain dynamic lists.
98
Use the Dynamic Lists Editor 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; the displayed options change if certain
conditions are satisfied.
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 Code Editor, or passed in from a lookup
table or external file.
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.
99
Invoke the Dynamic Lists Editor when are defining a combo box control by clicking the button to the right of the
Dynamic List parameter in the Configurator Designer > Design > Page Designer - Input Properties pane.
Click Edit in the Dynamic Lists Editor to invoke the Code Editor to develop a code expression that constructs
a specific set of options for a dynamic list that display when specific selections are made in other fields in a
configuration session, or if certain conditions are satisfied.
You can also use Lookup functions in a code expression to retrieve data and pass in inputs or values from a
lookup table to populate (generate) the dynamic list.
Note Refer to Using Lookup Tables with Dynamic Lists and Lookup Tables and Column Sets
for more details.
Example When you are constructing a configurator for a desktop computer, you can develop dynamic
lists for selection of a specific type of memory chips (for example, DDR2 / DDR3) depend on the type of
motherboard selected for the computer (one type of motherboard might support DDR2 type memory chips,
while the other type only supports DDR3 type memory chips). The expression statements you develop using
the Dynamic Lists Editor designate the conditions under which each of the memory chip dynamic lists (each
with selections associated with entirely different sets of part numbers) display.
Note 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.
100
Note For details on how to use Configurator Lookup Table Maintenance to create code expressions
that retrieve dynamic list data imported from external CSV lists, refer to Lookup Tables and Dynamic
Lists.
Data Source - Specifies the data source for the dynamic list options associated with the selected combo box
control. This field includes the following options:
Predefined List - Select this option to create a list of fixed options that display in the combo box control
(during a configuration session) when the conditions of the expressions statement are satisfied. If you
select this option, the Predefined Item List section display in the Dynamic List Data Source pane.
Run BAQ - Select this option to run a Business Activity Query (BAQ) for the dynamic list being defined. If
you select this option, the BAQ Setup and BAQ Criteria sheets display in the Dynamic List Data Source
pane.
User Defined Method - Select this option if you wish to build a dynamic list using an user defined method
record.
Data Look Up Method - Select this option if you wish to build a dynamic list using a lookup table record.
After you select the data source for the dynamic list, use the Dynamic List Data Source pane to specify the
data source settings for the dynamic list in focus.
Run BAQ
If you select Run BAQ in the Data Source field, use the BAQ Setup and BAQ Criteria sheets in the Dynamic
List Data Source pane to select a pre-defined BAQ for use in the dynamic list, set an initial value, select the
specific BAQ columns being used, and define the BAQ criteria being used for dynamic list processing.
Note Refer to the Activity Combo Box Control - Dynamic List (Run BAQ Data Source) topic in the
Configurator in Action section for an example of a dynamic list that uses a BAQ in processing.
BAQ Setup
Use the BAQ Setup sheet to select a BAQ program name together with an input value you want to use for building
the Dynamic List. It also contains buttons you use to add new BAQ columns, delete existing BAQ columns, or
move existing BAQ columns up or down in the listing. These are the values you can modify:
BAQ - Click this button to search for and select the BAQ used for building the dynamic lists. You must first
define a BAQ for use in a dynamic in the Business Activity Query Designer. Refer to the Application Help for
more details.
Input Value - Specifies the input value for the selected BAQ. This is a value that changes the dynamic list
based input values entered before executing this BAQ.
Available Columns - Displays the list of columns for the selected BAQ record.
Selected Columns - Displays the list of selected columns for the selected BAQ record. You select the columns
in the Available Columns pane and click the blue arrow button to move it to this pane.
Click OK when finished, then proceed to the BAQ Criteria sheet.
BAQ Criteria
Use the BAQ Criteria sheet to define BAQ column name, condition and value parameters for the BAQ being
defined for the dynamic list. The BAQ Criteria sheet functions in a manner similar to the Quick Search functions
found elsewhere in the Epicor application. From the New menu, select New Dynamic List Query to create new
BAQ dynamic list criteria. These are the values you can modify:
Operator - Specifies the operator being applied between each criteria. Values are restricted to AND/OR and
if none is defined, then AND is used as a default.
101
Predefined List
102
If you select Predefined List in the Data Source field, these are the values you can modify in the Dynamic List
Data Source section:
Initial Value - Specify the default option selection (if any) for the combo box control (for example, 1GB
DDR3). 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.
Note Before entering an initial value into this field, you must first enter and then save the value and
description rows in the Value / Description List grid using the Value and Description fields.
Value - Click the New icon (to the right of the Value/Description List grid) to create new value lines. In the
grid, enter the list of values and descriptions that display in the combo box during a configuration session
when the conditions of the expressions statement are satisfied.
You can add, delete or move value rows up or down using the controls on the right side of the Dynamic List
Data Source section.
Note The following conditions apply for the Predefined List data source option:
You use the List Items and Initial Value properties when defining a combo box control.
If no dynamic list condition evaluates to True during an actual configuration session, the Epicor
application uses the contents specified in the List Items parameters to populate the options in the
combo box during an actual configuration session.
If a dynamic list condition evaluates to True during an actual configuration session, the Epicor ignores
the contents of the List Items and Initial Value parameters, and instead dynamically populates the
combo box based on the conditions and dynamic list content specified in the Dynamic Lists Editor.
103
Configurator User Defined Methods Maintenance enables you to define methods that can be used in multiple
(Client side) events, such as field events, page events, configurator events, read-only expressions, dynamic list
expressions, or program calls.
Note Refer to User Defined Methods for detailed information about defining user defined methods.
These are the values you can modify:
Method Name - Select the user defined method you are associating with the dynamic list. The method names
appears are as entered in the UD Method field located in the Configurator User Defined Methods Maintenance
> Method sheet.
104
105
Param Value - Specifies a constant parameter. Enter a static value into this field. This field is available only
if you select the Const check box. If the Const check box is cleared, select the input from the drop-down list
located in the Input Name field.
Input Name - Specifies a drop down list of input controls entered on the page. This field activates only if the
Const check box is cleared.
Configurator Lookup Table Maintenance enables you to import data in a table format from external spreadsheets
and use them as a data source for dynamic list processing. Using the Dynamic Lists Editor, you can create code
expressions in the Code Editor that contain lookup functions. These functions direct the Epicor application to
retrieve data from specific columns and rows (or ranges of columns and rows) in the associated lookup table,
106
based on combinations of inputs you enter or select during the configuration session. The lookup table functions
that return a list of values from a lookup table data source include:
PCLookUp.DataLookup (string lookupTable, string columnName, string rowName)
PCLookUp.DataRowList (string lookupTable, string rowName)
PCLookUp.DataRowListNum (string lookupTable, string rowName)
PCLookUp.DataRowRangeList (string lookupTable, string rowName, string startCol, string endCol)
PCLookUp.DataRowLookupList (string lookupTable, string rowName, string searchValue)
PCLookUp.DataColumnList (string lookupTable, string colName)
PCLookUp.DataColumnListNum (string lookupTable, string colName)
PCLookUp. DataColumnRangeList (string lookupTable, string colName, string startRow, string endRow)
Note For detailed information about Lookup tables, refer to Lookup Tables and Column Sets, Lookup
Table CSV File Import, and Imported CSV LIst Data Review and Modification. For a detailed list of
available functions and allowable syntax in conditional code expressions, refer to Lookup Functions. For
examples of dynamic lists that use data lookups, refer to the Data Row Look Up Method Example and
the Configurator in Action section.
These are the values you can modify:
Data Look Up - Specifies the table lookup function to use for this dynamic list:
Data Lookup
Data Row List
Data Row List Number
Data Row Range List
Data Row Lookup List
Data Column List
Data Column Range List
Data Column Lookup List
Look Up Table - Click this button to search for and select the lookup table associated with this dynamic list.
Lookup tables must first be defined in Configurator Look Up Table Entry.
Mod - Displays the modifier set for the parameter. If there is a modifier for the parameter in focus, the Const
check box is cleared.
Param Type - Specifies the data type for the value being passed. The options include:
String - A character string is passed.
Boolean - A logical value is passed.
Date - A date value is passed.
Decimal - A decimal value is passed.
Integer - An integer is passed.
Array - An array of strings is passed.
Param Name - Specifies a name of the parameter. The parameters automatically load based on the selected
data look up method. The following is the list of parameters based on the data look up method selection
(valid parameter types are in bold):
Data Lookup - columnName, rowName
Data Row List - rowName
Data Row List Number - rowName
107
Logic/Algorithms
You can define default List Items and Initial Value parameters, and also specify if dynamic lists should be used
for a combo box input control (using the Dynamic List parameter) in the Input Properties > Properties pane
under the Behavior node.
During an actual configuration session, if you are using Dynamic List logic for an input control, the Epicor
application determines if the associated expression conditions, defined in the Dynamic List Editor and Code Editor
are satisfied. When no dynamic list condition evaluates to True, the contents of List Items parameters are used
to populate the options in the combo box.
If a dynamic list condition evaluates to True (condition is satisfied), the contents of the current List Items and
Initial Value parameters are ignored. The Epicor application then populates the combo box with the specific set
of options associated with the dynamic list.
If the Data Source type is a Predefined List, the Epicor application uses a list of items and initial values, as
defined in the Predefined Item List section of the Dynamic List Editor.
If multiple dynamic lists are defined for the same combo box, the Epicor application processes the dynamic
lists in the order they are defined. If it processes a condition that is satisfied (returned true), it populates the
combo box with the contents of the first dynamic list (by List Seq), and does not process any of the remaining
dynamic lists.
108
Depending on the pontoon boat selection you make in the Model control, the Epicor application populates the
dynamic list for the Color control with the allowable paint color selections.
Example If you select 16 NottaYacht in the Model control during a configuration session, the following
paint colors display as selection options in the Color control:
Plywood Shell
Onion
Tamarack
If the user selects 22 Deck Buster in the Model control, all paint colors display except for Tamarack.
These are the input parameters specified in the Configurator Designer > Design > Page Designer - Input Properties
pane for the Color combo box (cmbColor):
109
To create a dynamic list for this control, invoke the Dynamic List Editor by clicking the button to the right of the
Dynamic List control. Select Data Lookup Method in the Data Source field, and Data Row Lookup List in
the Data Lookup field to retrieve paint color information from the WRColorOptions lookup table.
This method has two parameters - rowname and searchvalue.
The rowname is the value of the cmbModel input field (the selected pontoon boat model), and the
searchvalue is x.
Based on these parameters, the data row lookup list method returns a list of suitable paint colors.
Note When you use this dynamic list data source method, the Epicor application retrieves column values
based on their defined order in the lookup table (colseq). When you define such a lookup table, do not
add any unwanted or unused columns (that is, one with no row values) within the specified data row
lookup list range.
110
111
You would typically use global input variables to share data like color, diameter, length, width or price between
parent and child configurators. For example, when creating a configuration for an office cubicle that consists of
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 Epicor application "passes down" the selected color 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 topic for a detailed explanation of this cubicle color selection.
112
General Setup
To define global Input variables and associate them with configurator input controls:
1.
Create the global input variable using the Global Input Variables selection on the Actions menu in the
Configurator Designer (a graphic representation, and directions for its use appear on the following pages).
2.
Associate the global input value with a specific configurator input control by doing the following:
Select True in the Global Input Variable parameter, located in the Input Level > Properties option
in the Configurator Designer > Design > Page Designer > Input Properties pane.
In the Global Input Variable Name parameter, select the global input variable you just created. This
field only displays global input variable 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 display.
If a defined global input variable 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).
By creating a global input variable, and associating it with a configurator input control, you designate that the
value a user enters in the associated input control (for example, Color) during an actual configuration session
should also update the value of the global input variable selected in the Global Input Variable Name parameter.
In essence, the Global Input Variable logic directs the Epicor application to 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 or another lower-level input.
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 Load, On Loaded,
On Complete and On Save event or rule expressions on the lower-level configured parts.
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 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
Input Variable Name parameter.
Note that if the same global input variable has also been selected in 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.
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.
113
114
Initial Decimal Value - If Decimal was selected in the Data Type field, specify the default decimal input
value for the global variable input being defined. The 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).
Initial Logical Value - If Logical was selected in the Data Type field, select this 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.
Example A logical global input variable GLOBAL1 has been created, and the Initial 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 check box input to selected.
Initial String Value - If Character was selected in the Data Type field, specify the default character input
value for the global variable input being defined. The 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).
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 Input Variable Name field in the Configurator Designer > Design > Page Designer >
Input Properties pane.
When the Epicor application uses global input variables in an actual configuration session, the following logic
applies:
The Epicor application uses the initial value you define for a global input variable (for a specific input control)
in the Configurator Designer > Design > Page Designer sheet for the first input in a configuration session
where it uses the variable. This is true even if input initial value differs, and even if global input variable value
is left at zero.
If you update the global variable value for an input control in the Configurator Designer > Design > Page
Designer sheet, the Epicor application uses the new value when you use that input control during the next
configuration session, not the initial value you originally defined for it.
When you configure an input control with a global input variable multiple times within the same configuration
session, the Epicor application uses whatever initial value you enter for the first occurrence of the input control.
Once you save a configuration, the Epicor application saves the input values for each input control. If you
save the configuration session with its own unique values for the inputs tied to global input variables, it does
not affect the values stored in the global input variable itself; it retains the original values you defined for it
in the Configurator Designer
If you attempt to reconfigure an existing configuration that has input controls with associated global variables,
the updated configuration retains the values last saved for these input controls.
115
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 Configurator Designer.
In each of the configurations, add an input control called localColor in the Configurator Designer > Design
> Page Designer.
In the Input Properties pane, select True in the Global Input Variable parameter, then select the global
input variable you defined in the Global Input Variables selection in the Global Input Variable Name parameter
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.
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.
116
Use Configurator User Defined Methods Maintenance to define methods you can use in multiple (Client
side) events, such as field events, page events, configurator events, read-only expressions, dynamic list expressions,
or program calls. Use this program to define Server side expressions, such as Document and Method rules.
Configurator User Defined Methods Maintenance is a single entry program for writing expressions.
Configurator events and rules are located in several places withing the Configurator related programs. You
usually use the User Defined Methods (UD Methods) for expressions that frequently change. You can access
and modify UD Methods outside the Configurator related programs, without changing the Configurator
approval status. Once you make a change to a UD Method, you must regenerate the Configurator in focus
to include the changes in the runtime.
Example Using Configurator User Defined Methods Maintenance, you can write a calculation and reuse
it by calling the UD Method from various events and places. You create a Configurator page that includes
four input controls (Length, Width, Height, and Area). Then on the On Field Changed event for Length,
Width, and Height, you create an expression that sets the Area input to the Calculate Area user defined
function.
To determine whether the created UD Method and its expression can or cannot query a database, you must
define a Method Type (Client or Server) for each entered UD Method record. Only expressions on the Server side
have access to the database. Call a Server side UD Method from a Client event to retrieve database information
to the Client.
Use the Rename and Copy options on the Actions menu as needed to rename an existing user defined method,
or copy an existing method and define a target configurator and a new target method name.
117
Note You can prevent duplication of methods if you copy a method to a different configurator record,
or even the same configurator with a different name, but you do not change anything in the expression.
User defined methods do not validate the content of the expression in the method, but do via entry of
correct and valid C# syntax using the Code Editor. The content of the expression does not validate if the
expression is identical to the expression of a different method, no matter the configuration.
Important User defined methods are specific for a Configuration ID and cannot be shared between
configurators.
118
Return Type - Specifies the data type that you want the Epicor application to return for this expression when
processed. Valid options include:
Void - Nothing is returned
String - A character string is returned
Boolean - A logical value is returned
Date - A date value is returned
Decimal - A decimal value is returned
Integer - An integer is returned
Array - An array of strings is returned
Edit - Click this button to launch the Code Editor to create C#-based code expression syntax for the user
defined method.
Note For detailed information about the use of the code editor, refer to the Code Editor topic.
119
Logic/Algorithms
Most programming languages support a standard method that receives parameters specified for the purpose of
providing information (such as data or variables) to the method, so it can correctly execute the process for which
it was defined. Some methods do not require parameters.
For example, if you create a method that returns the part number of a specific Job, you can specify a parameter
called strJobNum. This method uses that parameter to find in any case and for any job the Part number for it.
You can pass/type the job number in a Character field on a configurator page, and then configure a button on
the same page to execute your method. In the expression for the button, you pass the value of your Character
field as a parameter to your method, and then you set the returned value in a different Character field, or you
set it to a different variable in the expression and use that variable to process something else in the logic of the
button.
Example 1
Changing the User Defined Method ID may affect the expressions which use this User Defined method, causing
runtime errors or errors when checking the expression syntax in the Code Editor. Once the UD Method name
changes, you must correct the expression manually in the Code Editor.
In Configurator User Defined Methods Maintenance, create a new UD Method record called 'VoidUDMethod'
with two parameters for a configurator.
From Configurator User Defined Methods Maintenance, launch the Code Editor to create an expression.
For instance, create an expression called 'MessageBox.Show( " Welcome " + strValue + " User you are
in " + strValue2 + " Company");.
Then in the Configurator Designer, design the configuration and create an event using the Code Editor
launched from the Configurator Designer.
For instance, create an On Page Loaded event by entering the UDMethods.VoidUDMethod( Context.UserID,
Context.CompanyID); expression in Code Editor.
Now if you go back to Configurator User Defined Methods Maintenance, rename the previously entered UD
Method from 'VoidUDMethod' to 'ValidUDMethod' and re-launch the Code Editor from the Configurator
Designer to display the previously entered On Page Loaded event expression. The expression still displays the old
user defined function name, which may cause an error when checking the syntax or running the configurator
on an entity.
120
Example 2
To handle retrieval of the motor pricing from a lookup table, Wavy Rider Products created a User Defined (UD)
method called GetMotorPrice to query the lookup database; for proper database access, the UD method must
execute on the server. The UD method returns the pricing value (decimal value) based on the selected motor and
a data lookup table.
Depending on the pontoon boat motor selection you make in the Model control, the Epicor application uses
the query defined in the UD method to retrieve the associated part number and price:
The method has two parameters - string Lookuptable and string SelectedMotor. For example, if you select
16 NottaYacht in the Model control during a configuration session, only the 40 HP OB motor displays in
the Motor control.
The string Lookuptable is the name of the lookup table, and string SelectedMotor is the value of the
cmbModel input field (the selected pontoon boat model).
Example If you select the 40 HP OB motor in the Motor control, the UD method returns a price of
400.00, and HDA400 as the part number. However, if you select the 3000 HP OB motor, a price of
1600.00 and a part number of YMH300 are the returned values.
To automatically recalculate the price displayed in the unlabeled motor price field (decMotorPrice) each time
you select a new motor option in the Motor control, Wavy Rider Products added the following code syntax to
an On Field Changed event for the Motor control (cmbMotor). It calls the user defined method
GetMotorPrice(string LookupTable, string SelectedMotor) defined in Configurator User Defined Methods
Maintenance.
121
122
Code Editor
Use the Code Editor (also referred to as the Free Code Editor) as needed to create C#-based code syntax for
client side events, client side expressions, Document rule expressions, and Method rules expressions. Use it as
needed to construct complex expressions that combine input values collected during an actual configuration
session with logical operators, user defined functions, context functions, and lookup functions. For example, you
can create code that the Epicor application uses to evaluate specific input values entered into controls you place
on a configuration input page using the Configurator Designer > Page Designer sheet.
You can access the Code Editor as needed from various fields in the Configurator Designer, Configurator Entry
> Document Rules, Configurator Rules Entry, and Configurator User Defined Methods Entry for the following
types of configurator events and conditions:
FieldChanged
FieldValidating
FieldClicked (button)
FieldEnabled
PageLoad
PageLoaded
PageCompleted
PageSaved
123
PageEnabled
ConfiguratorLoad
ConfiguratorLoaded
ConfiguratorSaved
ConfiguratorCompleted
Dynamic List condition
Document Rule condition
Document Rule action
Method Rule Keepwhen
Method Rule condition
Method Rule action
Example If you are defining a Document rule in the Configurator Entry > Document Rules > Detail sheet,
and you select a rule condition of The Specified expression is equal to true in the Rule Condition
field, click the underlined Specified segment to invoke the Code Editor. You can then define code expression
syntax that the Epicor application uses to validate the rule and determine if it is True or False.
Code Editor Component Panes
The Code Editor contains the following panes and components:
Available Selections
Functions (including functions and operators)
Editor and Virtual Keyboard
Hints
Available Selections
The Available Selections pane displays, in a Tree View format, the specific variables available for use in the
current code editing session. You can collapse or expand specific nodes, then drag and drop the appropriate
selections into the Editor pane (in the middle of the Code Editor) to construct the code expression.
The selection nodes that display in the Available Selections pane depend on where you invoke the Code Editor
within the Epicor application. For example, among the nodes that display are the following:
Inputs - This node displays if accessed from the Configurator Designer; it contains the names of the inputs
(and their properties) you defined for the associated configurator ID in the Input Properties sheet in the
Design > Page Designer sheet.
Methods and Lookup - If displayed, it contains the following subnodes:
Context - This lists available context functions appropriate for the code expression you are constructing.
a Lookup - This lists lookup functions appropriate for the code expression you are constructing.
Note Epicor has also developed additional Context and Lookup functions you can use in expressions
for On Load, On Loaded, On Complete, On Save, Dynamic List, and Rules 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 or on an order, job, purchase order, or demand order. You can
use lookup functions to access data in user defined lookup tables; use these functions in place of
accessing external documents such as spreadsheets.
For complete listings and their use, refer to the Context Functions and Lookup Functions sections.
124
Methods - This lists valid methods previously defined in Configurator Rule Entry appropriate for the code
expression you are constructing.
System Functions - This lists system functions appropriate for the code expression you are constructing.
That may also display the following functions, depending where the Code Editor was accessed in the
Epicor application:
GetSmartString - If this subnode displays, it can be used to calculate/update Smart String values the
value only if you select the Smart String Constructed from Inputs option in the Available Styles
field in the Configurator Entry > Record Creation > Part Creation sheet.
ValidateArgs.Cancel - This displays only if you select an On Field Validating event in the Input
Properties pane. This option does not display if you launch the Code Editor from any other program
within the Epicor application.
Temp-Tables - This node only displays if you access the Code Editor from the Configurator Entry > Document
Rules > Detail sheet or from Configurator Rules Entry. It displays a node that lists available temporary files,
filtered based on the configuration type and entity.
Note If the target entity is Parts, it lists the temporary tables associated with that table.
User Defined - If displayed, the node contains subnodes that list User Defined methods executed on the
client side, and those executed on the server side. You create User Defined functions in Configurator User
Defined Methods Maintenance.
Example The proper syntax when using UD fields in expressions is:
OrderDtl ("StringCol")
Note For more details and examples of User Defined methods, refer to the User Defined Methods
topic.
Functions
The following table displays the Math, String, Date, and Conversion functions you can select in the Functions
pane for use in constructing code syntax in the Code Editor. As in the Available Selections pane, the functions
display in a Tree View format. You can collapse or expand specific nodes, then drag and drop the appropriate
function selections into the Editor pane to construct the code expression.
Function Section
Expression Display
Aggregate
Average()
Tool Tip
Average(expression)
Calculates the average of all values
within the numeric database field.
Aggregate
Count(x)
Count(expression)
Counts the number of times the
database field is counted.
Aggregate
Total(x)
Total(expression)
Calculates the total of all the values
of the numeric database field.
125
Function Section
Expression Display
Math
Abs(x)
Tool Tip
Abs(expression)
Returns the absolute value of a
numeric expression.
Math
Sqrt(x)
Sqrt(expression)
Returns the square root value of a
decimal expression.
Math
Exp(x)
Exp(expression)
Returns the mathematical constant
(e) raised to the power of a decimal
expression.
Math
Log(x)
Log(x)expression
Calculates the natural (e) logarithm
of a decimal expression.
Math
Log10(x)
Log10(x)
Calculates the base-10 logarithm of
a decimal expression.
Math
(x modulo y)
Math
Round(x.y)
Round(expression,precision)
Rounds a decimal expression to a
specified number of places after the
decimal point.
Math
Truncate(x,y)
Truncate(expression,precision)
Truncates a decimal expression to a
specified number of decimal places,
returning a decimal value.
String
Length(x)
Length(expression)
Returns the number of characters in
an expression.
String
Left-Trim(x)
Left-Trim(expression)
Removes leading white space from
a string expression.
String
Trim(x)
Trim(expression)
Removes leading and trailing white
space from a string expression.
126
Function Section
Expression Display
String
Right-Trim(x)
Tool Tip
Trim(expression)
Removes trailing white space from
a string expression.
String
Substring(x,y,z)
Substring(expression, position,
length)
Extracts a portion from a string
expression.
String
Replace(x,y,z)
String
String(x,y)
String(expression,format)
Converts a value of any data type
into a character value using a format
string.
String
Caps(x)
Caps(expression)
Converts any lowercase characters
in a string expression to uppercase
characters.
String
LC(x)
LC(expression)
Converts any uppercase characters
in a string expression to lowercase
characters.
Date
Today
Today
Returns the current system date.
Date
Time
Time
Returns an integer value
representing the time as the number
of seconds since midnight.
Date
String(Time, "HH:MM:SS")
String(Time, "HH:MM:SS")
Returns the current system time.
Date
Date(mm,dd,yyyy)
Date
Month(x)
Month(expression)
Evaluates a date expression and
returns a month integer value from
1 to 12.
127
Function Section
Expression Display
Date
Day(x)
Tool Tip
Day(expression)
Evaluates a date expression and
returns a day of the month as an
integer value from 1 to 31.
Date
Year(x)
Year(expression)
Evaluates a date expression and
returns the year value of that date,
including the century, as an integer
value.
Date
Weekday(x)
WeekDay(expression)
Evaluates a date expression and
returns the day of the week as an
integer value from 1 (Sunday) to 7
(Saturday) to that date.
Conversion
Weekday(x)
WeekDay(expression)
Evaluates a date expression and
returns the day of the week as an
integer value from 1 (Sunday) to 7
(Saturday) for that date.
Conversion
String(x)
String(x)
Converts a value of any data type
into a character value.
Conversion
String(x,y)
String(expression, Format)
Converts a value of any data type
into a character value using format
string.
Conversion
String (,"MM-DD-YYYY")
Conversion
String (x,date)
Conversion
String(,"HH:MM:SS")
128
Function Section
Expression Display
Tool Tip
Conversion
String(x,Decimal)
Conversion
String(x,Integer)
Conversion
Integer(x)
Integer(expression)
Converts an expression of any data
type to a 32-bit integer value of data
type integer, rounding that value if
necessary.
Conversion
Decimal(x)
Decimal(expression)
Converts an expression of any data.
Ranges
Date(mm,dd,yyyy)
Ranges
Date("x")
Date(string expression)
Converts a single character string
into a date value.
Ranges
Date(x)
Date(string expression)
Converts any data type into the
logical data type.
Ranges
Lookup(x,y,2)
Lookup(expression, list)
Returns an integer value giving the
position of an expression in a list.
Returns a 0 if the expression is not
in the list.
Ranges
Lookup(x,y,2)
Ranges
Entry(x,y)
Entry(expression, list)
Returns a character string entry from
a list based on integer position.
129
Function Section
Expression Display
Ranges
Entry(x,y,2)
Tool Tip
Entry(expression, list, separator)
Returns a character string entry from
a list based on integer position.
Ranges
Num-entries()
Num-entries(list)
Returns the number of elements in
a list of character strings as an
integer value.
Ranges
Num-entries(x,y)
Num-entries(list, separator)
Returns the number of elements in
a list of character strings as an
integer value.
130
Operators
An operator is a mathematical expression either used with a single function or used to process two or more
functions. The following table displays the Arithmetic, Boolean, Comparison, Condition, and Other operators
you can select in the Functions pane for use in constructing code syntax in the Code Editor.
As in the Available Selections pane, the operators display in a Tree View format. You can collapse or expand
specific nodes, then drag and drop the appropriate operator selections into the Editor pane to construct the code
expression.
Section
Tree View
Editor View
Arithmetic
Add (x + y)
(+)
Expression
+ Addition operator.
Adds two numeric
expressions. Adds days to
date (date + days).
Arithmetic
Divide (x / y )
(/)
/ Division operator.
Divides one numeric
expression by another
numeric expression,
producing a decimal result.
Arithmetic
Modulo (x modulo y)
(x modulo y)
Module operator.
Determines the remainder
after division.
Arithmetic
Multiply (x * y)
(*)
* Multiplication operator.
Multiplies two numeric
expressions.
Arithmetic
Negate ( - x)
(-)
Arithmetic
Subtract (x - y)
(-)
Subtraction operator.
Subtracts one numeric
expression from another
numeric expression.
Boolean
Equal (x = y)
(=)
= Equal operator.
Returns a TRUE value if two
expressions are equal.
Boolean
And (x = y)
and
Add operator.
Returns a TRUE value if
each logical expression is
TRUE.
131
Section
Tree View
Editor View
Boolean
Or (x or y)
or
Expression
Or operator.
Returns a TRUE value if
either of two logical
expressions is TRUE.
Comparison
Equal (x = y)
= Equal operator.
Returns a TRUE value if two
expressions are equal.
Comparison
>=
Comparison
>
Comparison
<=
Comparison
<
Comparison
<>
Condition
If x Then y Else z
If Then Else
If-Then-Else condition.
Evaluates and returns one
of two expressions,
depending on the value of
a specified condition.
Other
Comment
/* */
Comment characters.
Allows adding explanatory
text to a procedure
between the /* and */
characters.
132
Section
Tree View
Editor View
Other
Begins
Begins
Expression
Begins operator.
Tests a character
expression to see if that
expression begins with a
second character
expression.
Other
Matches
* *
Matches operator.
Compares a character
expression to a pattern and
evaluates to a TRUE value
if the expression satisfies
the pattern criteria.
133
When you click the OK button, you cannot leave the Code Editor if the code syntax is invalid. If the code
syntax is invalid, an error message displays, indicating the specific problem causing the invalidation. These are
standard Microsoft C# code validation errors; based on the displayed error, you use the Code Editor as needed
to make the appropriate change. Once complete, click the Check Syntax button again to perform C# code
syntax validation.
Once the code expression is validated, click OK to exit the Code Editor.
134
Configurator Settings
Configurator Rules Overview
The Configurator module makes extensive use of rules you define during the initial product configurator design
phase:
Document Rules, defined in the Configurator Entry > Document Rules sheets. Document rules allow you
to automatically update source documents (quotes, sales orders, job orders, purchase orders, or demand
orders) that initiate production of a configured item.
Method Rules, defined in the Configurator Rule Entry > Rules Set sheet. When you define method rules,
you create a Keep Component When rule clause that the Epicor application uses when determining the specific
material content for a configuration; this designates what components and operations should be included
when the configured part is manufactured.
Note For more details, refer to Configurator Method Rules Definition.
135
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 Epicor application selects medium-duty
motor 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.
Use the Configurator Entry > Document Rules > Detail sheet to define document rules for different target
entities (programs). Document rules allow for automatic updating of values in source documents (quotes, sales
orders, job orders, purchase orders, or demand orders) that initiate production of a configured item. This can
also include use of pricing-related Document rules you define for updating of Epicor Commerce Connect order,
quote, order, purchase order or demand line pricing. Pricing can be based on assigning a constant decimal value
for a given entity, or setting pricing based on code expressions you develop.
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).
136
For instance, based on syntax defined in Document rules, you can automatically update the description and
pricing of a sales order line, based on the components selected for the configured item and specified conditions
being satisfied during a configuration session.
Document rules can be used in a single-company environment or, when the Enterprise Configurator check
box selected, in a multi-company environment. If you have selected this check box, you use the Document Rules
> Enterprise Configurator sheet to designate the companies to which the rule applies.
Rule Components
Document rules consist of Rule Conditions and associated Actions. For each Document rule, you can enter a
single rule condition, but you can associate multiple actions with the rule condition.
Rule Conditions - A rule contains code expressions that denote the specific conditions that must be met to
perform the associated actions.
If the rule condition is met (rule conditions are True) during an actual configuration session, the Epicor
application executes the associated actions.
If the rule condition is not met (rule conditions are False), the Epicor application does not execute the
associated actions.
Example If you select 'The target entity is equal to Specified value' rule condition, you have the
option to decide whether you want this rule condition to apply to Quotes, Purchase Orders, or Jobs.
If you select the 'Column Specified of target entity is equal to Specified value' rule condition, you
can select the level at which this condition will apply (Quotes, Purchase Orders, or Jobs) as well as
a column it will apply against in these programs.
Rule Actions - A rule action is the actual action the Epicor application performs if the conditions of the rule
are met during an actual configuration session. You can assign multiple rule actions per rule. Several types
of actions are available for use, dependent on the type of rule you are creating:
You can create and assign multiple rule actions per rule, and can designate the processing order of rule actions
when defined.
Note Refer to the Document Variables, Set Field Action and User Defined Methods topics for
more information.
137
For each Document rule record you can enter a single rule condition with multiple actions.
These actions may apply to multiple entities.
Logic orderdtl.linedescription = "abc", quotedtl.linedescription = "abc123"
138
Set Specified configurator pricing to Specified constant value - Change an entity pricing field value using
a constant value.
Example You can specify that order line pricing for a specified material be set to a constant decimal
value (for example, 15.000.
Set Specified configurator pricing to Specified expression value - Change an entity pricing field value
using an expression value.
Example Order line pricing for a specified material varies based on a conditions you define; under
certain circumstances, the price of the item is 15.00, but in other circumstances, such as volume
ordering, the price is 14.50).
Execute Specified expression - Invoke the Code Editor and define a C# conditional code expression; you
can select user defined and system functions (such as Get Smart String) for use within the expression.
Note Refer to User Defined Functions and Rule Function Actions for more details.
Note If you enable component pricing for a configurator in the Document Rules > Pricing Options
sheet, you must also define a 'Set Specified configurator pricing to Specified expression value' or
'Execute Specified expression' rule action rule action that uses a Pricing.ComponentPricing entity;
you select this in the Code Editor.
To modify the selected rule action, click on the highlighted text within the condition to open one of the
following windows:
Entity Selection Editor
Option List Editor
Price Entity Selection Editor
139
Example If you select 'Set Specified configurator pricing to Specified expression value' rule action
in this field, and click the first Specified clause, you use the Price Entity Selection Editor to specify if
this rule action should apply to ECCOrderDtl (Epicor Commerce Connect Order Detail), Purchase (purchase
order line), Order (order line), Quote (quote line) or Demand (demand line) pricing. If you click the
second Specified clause, you use the Code Editor to create an accompanying C# code expression.
Up - Click the up arrow button to move up the selected action in the grid. This changes the order of the
actions within the Document rule.
Down - Click the down arrow button to move down the selected action in the grid. This changes the order
of the actions within the Document rule.
140
Logic/Algorithms
Document rules consist of Calculation, Set Field, and Program Call actions 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
For Wavy Rider Products, the pricing for the quote and order lines generated as the result of a configuration
session is based on what is stored in the Total Price (decTotalPrice) input field. They created a Document rule
in the Configurator Entry > Document Rules > Detail sheet for pricing by using following parameters:
Rule Description - Pricing Rules
Rule Condition - Always Execute
Document Rule Action - Set Specified configurator pricing to Specified expression value
When they clicked Specified, they selected Order in the Configuration Pricing Entity dialog box; this selects the
Pricing.OrderPrice option in the Code Editor. They entered the following code expression:
//decTotalPrice
return Inputs.decTotalPrice.Value;
To establish a pricing expression for quotes, they repeated these steps, but selected Quote in the Configuration
Pricing Entity dialog box; this selects the Pricing.QuotePrice option in the Code Editor. When they finished, the
Document rule looked as follows:
141
Use the Configurator Entry > Document Rules > Pricing 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 Supplier Price List Maintenance to direct (drop
shipment) purchase orders generated for multi-company configurations.
Note To enable use of component pricing in a specific configuration, you must also define a 'Set Specified
configurator pricing to Specified expression value' rule action that uses a Pricing.ComponentPricing
entity in the Document Rules > Detail sheet; you select this in the Code Editor. For details, refer to Adding
a New Rule Action.
If you are using the Configurator in a multi-company environment, you can use the Automatically Mark
Methods Global check box as needed to designate if, when you configure the base part 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.
142
This results in the linking of the associated material content to external companies.
143
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 in
the Configurator Entry > Detail sheet, and the Use Component Pricing check box has also been
selected in the Configurator Entry > Document Rules > Pricing Options sheet. It does not apply to
configurations performed in a single-company environment.
Logic/Algorithms
The Use Component Pricing check box in this sheet allows you to specify if you would like to use existing
component pricing when configuring a base part assigned a specific Configurator ID 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.
144
Document Variables
Use the Document Variables on the Actions menu in Configurator Entry to create variables to store temporal
values for use in Document rules you define in the Configurator Entry > Document Rules > Detail sheet. You
can do the following:
Define a variable for four data types (String, Numeric, Date, Logical) with a constant initial value.
Define a variable for four data types (String, Numeric, Date, Logical) with an expression defining the initial
value.
Define a variable for four data types (String, Numeric, Date, Logical) with a call to a User Defined function,
returning the initial value.
Define an expression to assign values to one or more Document rule variables.
Example You define a variable for a field value located on the operation level to be used for a material
in the same method of manufacture. You want to create and save document variable for the analysis code
value located in job operation and assign that value using the action and condition expressions, for example,
variable1 = JobOper.AnayslsCode, so when you are on the material in the method of manufacture, you
can assign the value that is stored in the variable, JobMtl.AnalsysCode = variable1.
Important Variable definitions for Document rules are independent of the variable definitions for Method
rules, defined using the Method Variables selection on the Actions menu in Configurator Rule Entry.
145
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. It accommodates 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 variables 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
variable.
For example, if you create a calculation method variable 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). You can update the field using the results of the Calculation rule expression. You can then create
a Set Field rule that uses the area value to set the value of the QtyPer field of the material.
146
Use the Configurator Entry > Record Creation > Part Creation sheet to:
Define parameters that designate if and how part records should be entered or created when you configure
an item during an actual configuration session in Order Entry, Opportunity/Quote Entry, Purchase Order Entry,
Job Entry, or Demand Entry, and save the configuration. You can define part creation functionality for top
assembly, as well as subassembly configurators.
Specify 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. You
define Smart String parameters if the Incoming Smart String check box has been selected for a target entity
in the Configurator Entry > Detail sheet. The Smart String identifies the configuration for customer reference;
you can define them for top assembly, as well as subassembly configurators.
You can also define additional parameters for creation of Smart String identifiers - how they should be prefaced
and if they should be included as a description on various types of records. 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.
When you define part or Smart String creation parameters 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 session.
If you are using Smart String 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),
147
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 Entry > Smart String sheet to designate the component 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.
Note While similarly named, the Configurator Entry > Smart String sheet is not related to the Smart String
part functionality defined in the Configurator Entry > Record Creation > Part Creation sheet
148
The setting simply controls whether you are setting the part number field only or setting the part number
field and creating a physical part record. This setting exists because some users use this functionality simply
as a part number generating engine.
Prompt User to Confirm New Part - Select the check box to display a Would you like to create a new
part number for this configuration? message in a configuration session asking if a new part number should
be created. An input window displays and allows entry of a new part number if the user clicks Yes when the
message displays.
Clear this check box to automatically create new part numbers; in this scenario no message displays during
a configuration session.
Notify User of Duplicate Part Numbers - Select the check box to display a Would you like to create a
new part number for this configuration? warning message when a duplicate part already exists. Clear
this check box to automatically create new part numbers in the Part file and skip display of a notification
during a configuration session when a duplicate part already exists. In both cases if a part with the new name
already exists, the existing part record is not changed.
Clear in this scenario no message displays during a configuration session.
Create New Part Number at Zero Cost - Select this check box to set the cost of the new part at zero. Zero
costs mean that the newly created part does not inherit the part unit costs of the base configurator. If the
check box is cleared, the cost of the base part is used as the cost of the new part.
Create Non-Configurable Part - If you select the Enable Part Number Creation check box, the Epicor
application creates a new part number and generates a method of manufacture when you save a configuration
created for the base part after completing a configuration session. The Epicor application automatically links
this newly created part number back to the base part number, allowing it to be reconfigured at any time.
If you select the Create Non-Configurable Part check box, the application removes the link back to the
base configured part. The newly created part is treated as a standard part and is 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 Enable Part Number Creation 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 Enable Part Number 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; the
Epicor application 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.
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.
Create Alternative Methods - Select the check box if alternate method records should be created in other
sites when a configuration part is created (when the universal base part is configured during a configuration
session in the current site). Clear the check box if alternate method records should not be created in other
149
sites when a configuration part is created (when the universal base part is configured during a configuration
session in the current site).
Prompt For Checkout - Specifies if Part Revision Checkout should automatically display when you save a
configuration after completing a Configuration session. This can be used if the Epicor application is creating
a new part revision record when you save a configuration 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.
Available Methods - Specify the method of manufacture you are using to assign a part number in the
configuration session (rather than generate one). Available methods control the part number created and are
used to update the quote line, order line, job, purchase order, or demand order part number fields when you
are configuring the base part in those entities. 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.
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.
Save Input Values - Specifies if the input value settings entered in a configuration session should be saved
in the Part record for the new configured part and revision number, and should not be linked to a specific
quote, order, or job. These input values can then be used "as-is" on any quote, order, job, purchase order
or demand order without the need for reconfiguration.
Selecting 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 the
Get Details sheet is used in Job Entry or Opportunity/Quote Entry, the Epicor application uses the correct
engineering structure at the time it creates an associated job order.
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 you change the design of the base configured part in the Configurator Designer, the Epicor application
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 a 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.
150
If you click No, any input values that may have changed during the current configuration process are not
saved.
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. 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.
Smart String Options
Smart String Structure - This field displays the resulting structure of the Smart String as you specify the
parameters to use for its construction. The field is for display only.
Available Styles - Specify if or how the Epicor application should construct a Smart String for this Configuration
ID. Select one of the following:
No Smart String Functionality - No Smart String should be created.
Smart String Constructed from Inputs - The Epicor application should construct the Smart String based
on inputs you enter when configuring the part 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 based using the available inputs search
and select grid.
Important The Get Smart String function in the Code Editor calculates/updates the value only if
you select the Smart String Constructed from Inputs option.
Part Number + Order Number/Quote Number + Order/Quote Line - The Epicor application should
construct the Smart String from the part number, the number of order or quote, and the line number
from the order or quote.
Part Number + Sequential Number - The Epicor application should construct the Smart String 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.
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.
151
Options
Preface w/Part Number - Select this check box if the Smart String should begin with the base part number
you are configuring in an actual configuration session. Clear the check box if the if the Smart String should
not be prefaced with the base part number.
Customer Part Number - Select this check box if the customer part number displayed in in Order Entry,
Opportunity/Quote Entry, Job Entry, Purchase Order Entry or Demand Entry should include the resulting Smart
String generated during an actual configuration session. Clear the check box if customer part number should
not include the generated Smart String.
Part Description - Select this check box if the Smart String generated during an actual configuration session
should be actual part description displayed on orders, quote lines or job lines (on the associated orders, quotes
or jobs). If you select this check box, the Smart String also becomes the new part description if the Epicor
application is creating new part records during the 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.
Available 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 Component Name field in the grid at the bottom of the
Record Creation > Part Creation sheet. This grid establishes which inputs should be included in the Smart
String for a configuration of the part.
Note Once you select an input for construction of the Smart String, it cannot be easily removed from
the grid (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.
Start Position / End Position - These fields designate the starting and ending positions for the value of this
input control in a smart string.
For example, the first string position (Color) starts in position 1, ends in position 2 and represents the color
of the item, while positions 3 and 4 (Metal Type) represent the type of metal used for the item.
In this case, when defining the Color string position, you specify that it starts in position 1; if defining the
next string position (Metal Type), you specify that it starts in position 3.
Up - Click the up arrow button to move up the selected input in order of appearance.
Down - Click the down arrow button to move down the selected input in order of appearance.
Format - 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 Record Creation > Part Creation sheet.
Example
Wavy Rider Products would like their pontoon boat configurator to operate in the following manner with respect
to part and Smart String creation:
Generate a new part number each time a user creates and saves a new configuration for the base part
(WR-Configurator) during configuration sessions. They want the part number to be automatically linked back
to the base part number, allowing it to be reconfigured at any time.
While a part number should be generated for use on the associated sales order or quotation, they would like
the Epicor application to skip creation of an actual record in the Part table.
152
When a new part number is generated, they would like the user to confirm it by responding to a Would you
like to create a new part number for this configuration? message during a configuration session, asking
the user if a new part number should be created.
A warning message should display during a configuration session warning users if a duplicate part number
already exists for the pontoon boat configuration they are creating. This allows them to "reuse" the same
part number for multiple orders and prevents proliferation of multiple part numbers for the same configured
items.
Skip use of the Smart String functionality, in which the Epicor application generates an intelligent character
string based on user inputs and selections made during a configuration session.
They entered the following parameters for the WavyRider Configurator ID in the Configuration Entry > Record
Creation > Part Creation sheet:
153
Use the Configurator Entry > Smart String sheet when the Incoming String Configuration check box has
been selected in the Configuration Entry > Detail sheet for the configuration you are designing.
When the Incoming 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.
Example You can use this functionality to parse incoming Smart String values (intelligent part numbers)
on inbound EDI transactions processed in EDI/Demand Management. When the Epicor application processes
the incoming Smart String value, it attempts to parse it into specific input values before you start configuring
the part.
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 Entry > 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.
Note While similarly named, the Configurator Entry > Smart String sheet is not related to the (outgoing)
Smart String functionality defined in the Configurator Entry > Record Creation > Part Creation sheet.
154
155
Use the Configurator Entry > Sequence sheet to review and change the configurator sequences of sub
configurators added in the Engineering Workbench as materials in a parent part method of manufacture (MOM).
This changes the display sequence of the sub assembly configurators when you configure the base unit part in
actual configuration sessions.
Note You can put sub configurators in a different sequence order than defined in the method. Changing
of the sequence is only available within the same assembly and at the same level.
Example Part A (parent) is a configured part and includes materials Part B and Part C in its MOM. Both
materials carry their own configurations. In Configurator Entry, if you select the configuration defined
for Part A and select Refresh Configurator Sequence from the Actions menu, the Sequence sheet will
display all the configurations that are part of its MOM, in this case two configurator sequences (one for
Part B and the other for Part C). You can change the order from B,C to C,B. If configurator B has three
sub configurators X, Y, and Z then you can change the order from X,Y,Z to X,Z,Y, or any other combination.
It is not possible to move sub configurator Y up a level. The Q&A session changes from B,C (X,Y,Z) to C
(X,Z,Y), B.
Note All sub configurators of C are executed before moving to B.
Important You can change the configuration sequence using the up and down buttons located in this
sheet. The sequence order determines the order in which the parent item will be configured.
156
157
158
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; chose a relationship to save
time in the schedule. For a more detailed exploration of operation relationships, refer to the Primary Calculations
and Values section.
Tip The JobOper and JobOprDtls tables contain the information for each operation within a job method.
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
Install Furniture
Install Mooring Covers
Install Motor
159
160
161
Create multiple parent assembly levels to let the engine concurrently schedule these assemblies. Each parent
assembly typically contains operations and subassemblies 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
methods of manufacturing as you need. Parent assemblies typically contain operations or subassemblies unique
for their area of the method of manufacturing.
162
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.
Methods 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 to manufacture the part.
This defines the sequence of manufacturing and assembly operations required to build the final product.
163
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
a part revision, as specified in the Revisions Detail sheet in Part Maintenance (for more details, refer to Base
"Universal" Part and Part Revisions). 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 Method rules, defined in the Configurator Rule Entry > Rule Sets sheet, to select the
materials and assemblies and operations required for a particular configuration.
There are two general methods to create the Method of Manufacture for the base universal part - the Super
BOM and the Template BOM. This is discussed on the following page - however, for a more detailed
discussion, refer to the Super BOMs and Template BOMs topic in the Implementation Components and
Calculations section.
Super BOM
The Method of Manufacture for the Super BOM contains all component parts and operations that can
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.
164
Example You manufacture scissors, which can be black, white, red, or green. The standard build is
right -handed scissors, 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 you create a job or quote, 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. For a detailed example of how this is set up for a complex product,
refer to the Configurator in Action section.
The Super BOM is easier to set up initially, but the Template BOM is easier to expand and maintain over the long
term. For small-scale configurations, you can use a Super BOM, while for all other configurations, Epicor
recommends that you use a Template BOM. For detailed information, refer to the Super BOMs and Template
BOMs topic in the Implementation Components and Calculations section.
165
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. For more
details, refer to the Operations topic.
Materials - Unlike the conventional method of part definition, the method of manufacturing defined for a
configured part revision contains all component parts that can 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, subassemblies (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.
Once you define a Method of Manufacture for the configured part/revision in the Engineering Workbench, you
must approve the revision in the Revision > Detail sheet (in the Engineering Workbench) and then check it in
using the Revision > Check In option on the Actions menu in the Engineering Workbench.
Logic/Algorithms
When you create a quote or job for a standard, non-configured part, it creates the Method of Manufacture on
the job or quote as defined in the Engineering Workbench. With a configured part, it uses the Method of
Manufacture defined in the Engineering Workbench for the configured part, but as it retrieves each component
166
(for example, assembly, material, operation), it processes any Set Field rules, Keep When rules, and rule functions
defined for that specific component in the Configurator Designer.
If a Keep When rule is returned false, the component isn't included on the quote or job.
Example
Wavy Rider Products builds pontoon boats with various combinations of lengths, models, colors, seating, electronics,
and other options. The number of combinations can reach into the thousands and assigning a model (part)
number to each combination is 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 that 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
you are actually during quote, sales order, job order, purchase order or demand order creation, and through the
application of Keep When rules. For more details, refer to Use of Rules Types in Rules Processing.
In the case of Wavy Rider Products, they decided to create a single universal part number WR-Configurator 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
167
Method Variables
Use the Method Variables selection on the Actions menu in Configurator Rule Entry to create variables to
store temporal values for use in method rules you define in Configurator Rule Entry.
Example You define a variable for a field value located on the operation level in order to be used for a
material in the same method of manufacture. You want to create and save a variable for the analysis code
value located in the job operation and assign that value using the action and condition expressions, for
example, variable1 = JobOper.AnayslsCode, so when you are on the material in the method of manufacture,
you can assign the value stored in the variable, JobMtl.AnalsysCode = variable1.
Use Method Variables to:
Define a variable for four data types (String, Numeric, Date, Logical) with a constant initial value.
Define a variable for four data types (String, Numeric, Date, Logical) with an expression defining the initial
value.
Define a variable for four data types (String, Numeric, Date, Logical) with a call to a user defined function
returning the initial value.
Define an expression to assign values to one or more method rule variables.
Important Variable definitions for Method rules are independent of the variable definitions for Document
rules, defined using the Document Variables selection on the Actions menu in Configurator Entry.
168
Note To further define definitions by selecting the link element located in each definition.
Example If you select the 'Define Variable as DataType with Specified constant as initial value'
definition, you can specify a variable name, data type, as well as define its constant value by clicking
the links located in the selected definition.
String
Numeric
169
Data Type
Date
Logical
Up - Click the up arrow button to move up the selected variable in the grid.
Down - Click the down arrow button to move down the selected variable in the grid.
Example 1
You define a variable for a field value located on the operation level to be used for a material in the same method
of manufacture. You want to create and save a variable for the analysis code value located in the job operation
and assign that value using the action and condition expressions (for example, variable1 =
JobOper.AnayslsCode), so when you are on the material in the method of manufacture, you can assign the
value stored in the variable, JobMtl.AnalsysCode = variable1.
Example 2
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.
Assume that the frame pieces is cut at a 45-degree angle, so that the outside dimension of each piece corresponds
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 is 24/144 = 0.166666.
The quantity per parent value on a job or quotation is now 0.166667 bar (BR) for each frame. You can do
similar calculations for the other two frame sizes; the Configurator can do the calculations for us.
170
Method Rules
Use Configurator Rule Entry to specify how a method of manufacturing should be created for use in producing
a part configured in a Sales company. Method rules include a Keep Component When clause that the Epicor
application uses when determining the specific material content for a configuration; this designates what
components and operations should be included when the configured part is manufactured.
171
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 are 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.
Configurator Rule Entry contains the following sheets; for more details on each sheet, refer to the Application
Help and associated topics in the Implementation Components and Calculations section of this document:
Part/Rev - If multiple revisions are already for a part in the Revisions sheet in Part Maintenance, use this sheet
to select the specific part revision for which you are defining or modifying configuration rules.
Rule Sets - Use this sheet to enter a new rule set for the selected Configurator record. A rule set contains
one or more rules and each rule is composed of a condition and one or more actions.
Enterprise Configurator - Use this sheet to designate whether the entered configurator rule is a
multi-company rule.
Comment - Use this sheet to free-form comment text about the rule sets you are defining.
172
Approved By - If the specified Configurator ID is approved, this field displays the name of the person who
most recently approved the configuration.
Approved Name - If the specified Configurator ID is approved, this field displays the date the configuration
was most recently approved.
Approved - If necessary, clear this check box to unapprove the Configurator to add new rules, or modify
existing rules.
Select this check box to approve the Configurator. You normally do this after you complete the design and
testing of the entire configuration for the selected part revision. Whenever you change this check box, the
Design of Change dialog displays; you must enter free-form text about the nature of the design change.
You must clear this check box if you want to change the configuration. To change an existing approved
configuration, clear this check box.
Single Level Configuration - If a multi-level Method of Manufacture is defined for the part revision for
which you are defining the configuration process, this check box governs the bill of material and operations
levels of the indenture for which method rules can be defined.
If you select the check box, 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.
Part/Rev - Click this button to search for and select the existing part record to which the Configurator ID is
tied. In the field to the right, select the specific revision for which you are defining a configuration rule. This
is the unique identifier for the revision of the Part record checked out to the ECO group. Depending on the
revision you select, a respective method of manufacture displays in the tree view. The method of manufacture
that you build or maintain is directly related to the part's revision.
Use the Configurator Rule Entry > Rule Sets sheet to enter a new rule set for the selected Configurator record.
A rule set can contain one or more rules and each rule consists of of a condition and one or more actions. A
Rule Set can hold a Keep When condition to prevent a user from entering more than one rule with a Keep
When condition. You select Keep When conditions from the Keep Component When options drop-down list.
173
Important Only one Keep When rule condition is allowed per selected Bill of Material element.
Important Only one Rule Set is allowed per selected Bill of Material element.
Based on the selection you make in the assembly and subassembly part's method of manufacture, the Rule
Sets sheet fields populate. To enter a new Rule Set, from the New menu, select the New Rules Set command
for the fields to open for entries.
If you are using the multi-company configuration functions (the Enterprise Configurator check box is selected
for the configuration in the Configurator Entry > Detail 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 are created
(when you initially enter a quote, order, job, purchase order or demand order).
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.
Rule Components
Configurator rules contain the following components:
Rule Set - Method rules you define in the Configurator Rule Entry > Rule Sets sheet consist of a rule set
that can contain one or more rules; each rule contains a condition and one or more actions. Besides acting
as a wrapper for all the rules and actions, the rule set also holds the Keep When condition, which applies to
all of the associated rules. You can only add one Keep When condition per rule set; this prevents entry of
more than one rule with a Keep When condition. Only one rule set is allowed per element in the BOM.
Note For detailed information on Method rules and Keep When conditions, refer to the Method Rules
Definition, Rule Sets, Conditions and Actions, and Keep When topic.
Rule - A rule contains code expressions that denote the specific conditions that must be met to perform the
associated Actions, on which all associated rule actions depend. For example, when used in Method rules,
this is the actual conditional rules code applied against the material selected in the method of manufacture
for the parent part.
If the rule condition is met (rule conditions are True) during an actual configuration session, the Epicor
application executes the associated actions.
If the rule condition is not met (rule conditions are False), the Epicor application does not execute the
associated actions.
Rule Action - The rule action is the actual action the Epicor application performs if the conditions of the rule
are met during an actual configuration session. You can assign multiple rule actions per rule. Several types
of actions are available for use, depending on the type of rule you are creating:
Execute Expression (Set Field) - Changing an entity field value for applicable entities, or for the current
entity, using an expression or constant you define in the Code Editor.
174
Rule Function - Returns values for operations, operation details, and materials using system defined rule
functions; the specific rule functions available depend on what type of record you select in the tree display
in Configuration Rule Entry.
Execute User Function - Use this rule action to invoke the Code Editor and define a C# conditional code
expression. When you create this code, you can select user defined and system functions (such as Get
Smart String) for use within the expression.
Execute System Function - Executing a context function.
You can create and assign multiple rule actions per rule, and can designate the processing order of rule actions
when defined.
Note For more information, refer to the Document Variables, Method Variables, Set Field Action
and User Defined Methods topics.
175
Note Only one Rule Set is allowed per selected Bill of Material element.
Once you select a method of manufacture element in the tree view, you can view the following information:
Assembly Part- Displays a unique Part ID for the Assembly part. The value in this field changes based on the
Assembly or Subassembly selection you make in the tree view (method of manufacture). In the tree view, if
you click a material sequence, this field displays the parent part record to which the selected material belongs.
Example An assembly part A contains materials B and C. If you click material B or C the assembly part
A displays in this field.
An assembly part A contains materials B and C. Part B is a subassembly and contains materials D and
E (has its own method of manufacture). If you click material D or E the subassembly part B displays in
this field because materials D and E are children of subassembly B.
Operation - Displays the operation sequence required to manufacture the Assembly part or the Subassembly
material(s). Operation sequence(s) displays in the tree view based on how a method of manufacture is
constructed using the Engineering Workbench.
Note For more information about how to enter a method of manufacture, refer to the Engineering
Workbench topic in the Application Help.
Scheduling Resource - Specifies a resource sequence required to complete the operation included in the
method of manufacture to produce the Assembly part or the Subassembly material(s).
For this field to populate, in the tree view, you must select a Resource sequence for the Assembly part or the
Subassembly material(s). Once you select the resource in the tree view, the Scheduling Resource field populates.
The Operation and Material fields also display the Operation and Material sequences, showing the user to
which operation or material the selected resource belongs.
Material - Specifies a material sequence required to complete the operation included in the method of
manufacture to produce the Assembly part or the Subassembly material(s).
For this field to populate, in the tree view, you must select a Material sequence linked to an operation. Once
you select the material in the tree view, the Material field populates. The Operation field also displays the
Operation sequence, showing to which operation the selected material belongs.
These are the values you can modify for a rule set in the Rule Sets sheet:
Keep Component When - Specify the condition under which the selected material or operation should
remain in the method of manufacture. This is a rule expression that, once defined, applies to the
selected/created Rule Set. A Keep When rule specifies the conditions under which a material or operation
should remain in the method of manufacture (MOM). This field contains the following expression:
The Specified expression is equal to true
This allow you to select an operation or material during a configuration session, based on date, numeric,
logical, or string data.
Example You have a part called Frame and you include a Reinforce operation in the part's MOM.
However, this operation is not necessary if the Frame part is smaller than three feet wide. As a result,
you create an input called Width, and build a Keep Component When rule for the Reinforce operation,
so the operation is included in the MOM only when the Width value is greater than three feet. For
detailed information on Keep When rules, refer to Keep Component When - Additional Information.
To invoke the Code Editor and create expression code for the Keep When rule, click the Specified link.
Note For detailed information on the use of the Code Editor, refer to the Code Editor topic.
In the Code Editor, enter the required condition and click OK to confirm.
176
Example
TheInputs.epiPcCheckBox1.Value==true
Note Once you confirm the entered expression, the Syntax is Correct confirmation message
displays.
To change the code expression to a not equal to condition, click equal to.
To change the code expression to a false condition, click true.
When you finish, click Save.
A better way of referring to this rule condition is as an "Only Keep When" condition; that is, defining only
those conditions under which selected materials or operations should remain on the Method of Manufacture
for the configured part. They allow you to select 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.
177
178
Execute Specified expression - Use this rule action to invoke the Code Editor and define a C# conditional
code expression. When you create this code, you can select user defined and system functions (such as
Get Smart String) for use within the expression.
Note For more details, refer to User Defined Functions.
Execute Specified expression - Use this rule action to invoke the Code Editor and define a C# conditional
code expression. When you create this code, you can select user defined and system functions (such as
Get Smart String) for use within the expression.
Note For more details, refer to User Defined Functions and Rule Function Actions.
To further define expressions, select the link element located in each expression.
Example Select the 'Execute Specified expression' action and click the Specified link to open the
Code Editor. Enter a new expression and click OK to confirm.
Example Select the 'Set Specified field of current element to Specified value' action and click the
first Specified link to open the Option List Editor. The editor displays fields related to the BOM or BOO
element selected. Depending on the field type you select using the first Specified link, a form opens
to be filled with value. The available forms are:
Value From String
Value From Decimal
179
Rule functions are processed when you use the Get Details sheet in Quote Entry or Job Entry. Each of these
rule functions serves a different purpose, but you normally add them after you create another Set Field rule
on the same assembly, material, operation, or operation details sequence that changes the value of an existing
field. For example, the part number or operation code changes.
The following selections are available when defining a Rule Function action; the specific selections that display
depend on where the rule is being added (operation, operation detail, material, or subassembly):
Get Operation Master Defaults
You can only add this rule function when you define rules for operation sequences.
Since the OpCode can be changed by a Set Field rule, you can add this rule function to retrieve default values
for the new OpCode. The default values are similar to the default values that 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 in a rule expression
you create in the Code Editor.
Example You have an operation defined in the method of manufacture for the base configured part.
Depending on the input values you enter for the configuration, you may want to use a different operation.
You do this using a Set Field rule. If the operation code changes from the Set Field rule, all of the values
from the previous operation still exist within the quote or job. You can add the Get Operation Master
Defaults rule function to the operation sequence. This rule function still retrieves all of the default information
for the new operation.
180
181
The Get Capability ID Defaults function auto-populates the GetCapabilityID() string in a rule expression you
create in the Code Editor.
Example You have defined a capability in the method of manufacture for the base configured part, but,
depending on the input values you enter for the configuration, you may want to use a different capability
ID. You do this using a Set Field rule. If the capability ID changes from the Set Field rule, all of the values
from the previous capability ID still exist within the quote or job. You can add the Get Capability ID Defaults
rule function 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
You can only add this rule function when you define rules for material sequences.
Since the part number can be changed by a Set Field rule, you can add this rule function to retrieve default
values for the new part number. The default values are similar to the default values that 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 in a rule expression you create
in the Code Editor.
Example You have a material defined in the method of manufacture for the base configured part.
Depending on the input values you enter for the configuration, you may want to use a different material
for this material sequence on the quote or job. You do this using a Set Field rule on the operation. If the
material part number changes from the Set Field rule, all of the values from the previous part still exist
within the quote or job. You can add the Get Part Defaults rule function to the material sequence. This
rule function retrieves all of the default information for the new part number.
Set Current Revision
You can only add this rule function when you define rules for assembly sequences.
Since the subassembly part number can be changed by a Set Field rule, you can add this rule function 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 you use the Get Details sheet in Quote Entry or Job Entry.
The Set Current Revision function auto-populates the SetCurrentRevision() string in a rule expression you
create in the Code 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 has a unique method of manufacture. You add part OrigAssemblyPart Number
as a subassembly in the method of manufacture in the base configured part.
Depending on the input values you enter for the configuration, you may want to use part
NewAssemblyPartNumber instead; You do this using a Set Field rule.
The Set Field rule replaces the part, but it attempts to retrieve the method of manufacture for revision A,
because this is the revision defined for the original part number.
You can add the Set Current Revision context function to retrieve the latest approved revision for the new
part number. This value is assigned to the quote or job material record and it uses this revision to retrieve the
method of manufacture for the subassembly part.
182
183
184
To define a Set Field rule, specify the table for which you are defining the rule. Select one of the following. Once
you select 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 is selected in the Configurator Designer > Part > Creation sheet, and only if select Assembly 0
(Alt) 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 you select the table, specify the field within the table for which you are defining the rule. Only user updatable
fields display 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 Code Editor. Once you select an option, it displays in the Field field.
After selecting the field and table, use the Code Editor to establish expressions that contain the conditions,
when satisfied, set a value in the selected field within the selected table.
Note For detailed information, refer to the Code Editor and Context Function sections.
185
Example 1
Wavy Rider Products decided to use one rule condition (Always execute) and a single action (using an Execute
Set Part Defaults rule function) to get the default part value of the new part number, and assign it for each
entity:
186
Example 2
The Fish Finder is a bit different from the Motor option. A user must always select a motor, but not a Fish Finder.
You define a rule set with Keep When rule for the Fish Finder; use the 'The Specified expression is equal to
True', where the expression is:
187
Example
To test the Method rule, Wavy Rider Products used the Test Rules selection on the Actions menu in Configurator
Rule Entry. It invokes the configurator input page and operates in the same manner as in a configuration session.
However, after you select options and save the configuration, it allows review of testing rules results in the Test
Rules Tracker:
Note The red dot indicates that a defined rule exists for the method tree element. An exclamation point
indicates that the tree element is not kept.
188
Configurator Maintenance
Configurator Listing
Use this program to produce a list of product configurator records created in Configurator Entry, the Configurator
Designer, and Configurator Rule Entry. You can specify which parts and product groups should be included on
the report. You can print the following information on the report:
Input detail / page detail parameters and comments. You can group Input parametersper page and include
input name, data type, format, and label information.
Dynamic Lists
Variables
Record Creation (Part Creation / Smart String parameters)
189
190
Exporting Configurations
Use the Export Configuration selection to generate an XML file containing information for the configuration
(part and revision number) currently open in the Configurator Entry, 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 flexibility in specifying 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, subconfigurator sequences, and global variables
Part creation and Smart String parameters
Order, quote, purchase order, or demand order pricing parameters
Document and Method rules
Configuration comment text
191
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 the 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 properties/actions) for the currently
selected configuration, select the 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 are
already defined in the database to which you are exporting the configuration records (they are all present
in the target database or company).
192
Part Creation - Specifies if part creation parameters defined for the configuration (in the Configurator Designer
> Record Creation > 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.
Document Rules - Specifies if Document rules defined for the configuration (in the Configurator Entry >
Document Rules sheet) 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.
Method Rules - Specifies if Method rules defined for the configuration (in Configurator Rule Entry) 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.
Filename - Specifies the name of the XML file that contains the configuration information you are exporting.
Click Browse to browse and select the directory in which the resulting configuration file is stored, and specify
the name of the file you are creating.
Export - After ytou specify 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 the Filename field, using the parameters specified in each of the fields in this sheet.
If the Configurator is exported correctly, the 'The configurator information has been successfully exported
to: XXX' message displays (where XXX is the name of the file you exported the configuration to). Click OK
to confirm.
If the Configuration fails to export, a warning window displays informing you about the cause of the export
failure.
Example If the file you specify in the Filename field is incorrect, the Epicor application prompts you
to enter a valid file name before proceeding with the Export process.
193
Global Variables
The PCInputVar table is exported if you select the Sequence check box.
Inputs
The following tables are exported if you select the Inputs check box:
PcPage
PcInputs
PcDynLst
PcDynLstCriteria
PcDynLstParams
PcInputsExpr
PcPageExpr
Method Rules
If the Method Rules check box is selected, the following tables are exported:
PcRules
PcRuleSet
PcRulesExpr
PcMethodVar
Part Creation
Part Creation logic is stored in both the PcStatus and PcTargetEntity tables. The following table fields are exported
if the Part Creation check box is selected:
PcStatus.CreateRev
Pcstatus.GenerateMethod
PcStatus.AllAltMethods
PcStatus.PromptforCheckout
PcTargetEntity.AllowRecordCreation
PcTargetEntity.SIValues
PcStatus.RemoveLink
PcStatus.CreateRev
Pcstatus.GenerateMethod
PcStatus.AllAltMethods
PcStatus.PromptforCheckout
PcTargetEntity.AllowRecordCreation
PcTargetEntity.SIValues
Smart String
Smart String logic is stored in the Pcstatus table. If the Smart String check box is selected, the PcStrComp table
and the following fields in the PcStatus table are exported:
PcStatus.StringStyle
PcStatus.Separator
PcStatus.NumberFormat
194
PcStatus.StartNumber
PcStatus.PrefacePart
PcStatus.CrtCustPart
PcStatus.CrtPartDesc
PcStatus.SampleSmartString
Sequence
The PCStruct table is exported if you select the Sequence check box.
Universal Tables
The following tables are always exported, regardless of the settings you use in Export Configuration:
Base Configuration - PcStatus and PcStatusExpr
Configurator Target Entities - PcTargetEntity
User Defined Functions - PcFunctionDef and PcFunctionParam
Version Information
The ssociated version tables (PcVerxxxx) are not exported.
Importing Configurations
Use the Import Configuration selection to import an XML configuration file created by Export Configuration
for a configuration developed and tested in another database. You can only import unapproved configurations
from another company or another database (these are ones for which the Approved check box is cleared in the
Configurator Entry > Detail sheet). Before using this program, you must create the configuration XML file by
running the Export Configuration program in the export database.
Note Import Configuration provides flexibility in specifying which types of records associated with the
selected configuration file must be imported. It also allows you to specify if the company ID associated
195
with the imported configuration records must be automatically updated, and if the configuration must be
approved once imported. You can selectively update the following types of configuration records:
Inputs, including page details, dynamic lists, subconfigurator sequences, and global variables
Part creation and Smart String parameters
Order, quote, purchase order, or demand order pricing parameters
Document and Method rules
Configuration comment text
196
Sequence - Specifies if subconfigurator sequences defined for the configurator in the Configurator Entry >
Sequences sheet, should be imported.
Select this check box to import subconfigurator sequences. Clear the check box to skip import of
subconfigurator sequences.
Inputs - Specifies if input parameters, including page details and dynamic lists defined in the Configurator
Designer should be imported. Select this check box to import input detail and dynamic lists defined for the
configuration. Clear the check box to skip import of configuration input detail. In the field to the right, select
one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing input detail and
dynamic lists in the selected Configuration record before creating new records using the import file.
Append - If you select the Append option, the Epicor application verifies if the input detail and dynamic
lists already exist in the selected Configuration record. If the record exists, it will not be updated. Only
records that do not exist are created and updated. This allows a user to keep any local changes they make
to existing records.
Global Variables - Specifies if global input variables defined for the configurator using the Global Input
Variables selection on the Actions menu in the Configurator Designer sheet should be imported. Select this
check box to import global input variables for this configurator. Clear the check box to skip import of global
input variables. In the field to the right, select one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing Global Variables in
the selected Configuration record before creating new records using the import file.
Append - If you select the Append option, the Epicor application verifies if the Global Variables already
exist in the selected Configuration record. If the record exists, it will not be updated. Only records that do
not exist are created and updated. This allows a user to keep any local changes they make to existing
records.
Update Smart String - Specifies if Smart String parameters defined for the configuration (in the Configurator
Entry > Record Creation > Part Creation 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.
Update Part Creation - Specifies if part creation parameters defined for the configuration (in the Configurator
Entry > Record Creation > 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.
Document Rules - Specifies if Document rules defined for the configuration (in the Configurator Entry >
Document Rules sheet) should be imported. Select this check box to import Document rules for the
configuration. Clear the check box to skip import of configuration Document rules. In the field to the right,
select one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing Document rules in
the selected Configuration record before creating new records using the import file.
Append - If you select the Append option, the Epicor application verifies if the Document rules already
exist in the selected Configuration record. If the record exists, it will not be updated. Only records that do
not exist are created and updated. This allows a user to keep any local changes they make to existing
records.
Method Rules - Specifies if Method rules defined for the configuration (in Configurator Rule Entry) should
be imported. Select this check box to import Method rules for the configuration. Clear the check box to skip
import of configuration Method rules. In the field to the right, select one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing Method rules in the
selected Configuration record before creating new records using the import file.
197
Append - If you select the Append option, the Epicor application verifies if the Method rules already exist
in the selected Configuration record. If the record exists, it will not be updated. Only records that do not
exist are created and updated. This allows a user to keep any local changes they make to existing records.
Filename - Specifies the name of the XML file that contains the configuration information you are importing.
Click Browse to browse select the directory in which the resulting configuration file is stored, and specify the
name of the file you are creating.
Import - After you specify what parameters should be imported, click this button to submit the import 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 the Filename field, using the parameters specified in each of the fields in this sheet.
If the Configurator is imported correctly, the 'The configurator information has been successfully
imported to: XXX' message displays (where XXX is the name of the file to which you are importing the
configuration). Click OK to confirm.
If the Configuration fails to import, a warning window displays informing you about the cause of the import
failure.
Example If the file you specify in the Filename field is incorrect, the Epicor application prompts you
to enter a valid file name before proceeding with the Import process.
198
Inputs
The following tables are imported if you select the Inputs check box:
PcPage
PcInputs
PcDynLst
PcDynLstCriteria
PcDynLstParams
PcInputsExpr
PcPageExpr
Method Rules
If the Method Rules check box is selected, the following tables are imported:
PcRules
PcRuleSet
PcRulesExpr
PcMethodVar
Part Creation
Part Creation logic is stored in both the PcStatus and PcTargetEntity tables. The following table fields are imported
if the Part Creation check box is selected:
PcStatus.CreateRev
Pcstatus.GenerateMethod
PcStatus.AllAltMethods
PcStatus.PromptforCheckout
PcTargetEntity.AllowRecordCreation
PcTargetEntity.SIValues
PcStatus.RemoveLink
PcStatus.CreateRev
Pcstatus.GenerateMethod
PcStatus.AllAltMethods
PcStatus.PromptforCheckout
PcTargetEntity.AllowRecordCreation
PcTargetEntity.SIValues
Smart String
Smart String logic is stored in the Pcstatus table. If the Smart String check box is selected, the PcStrComp table
and the following fields in the PcStatus table are imported:
PcStatus.StringStyle
PcStatus.Separator
PcStatus.NumberFormat
PcStatus.StartNumber
PcStatus.PrefacePart
199
PcStatus.CrtCustPart
PcStatus.CrtPartDesc
PcStatus.SampleSmartString
Sequence
The PCStruct table is imported if you select the Sequence check box.
Universal Tables
The following tables are always imported, regardless of the settings you use in Import Configuration:
Base Configuration - PcStatus and PcStatusExpr
Configurator Target Entities - PcTargetEntity
User Defined Functions - PcFunctionDef and PcFunctionParam
Version Information
The ssociated version tables (PcVerxxxx) are not imported.
Use Verify Existing Configurations to verify existing PcInValue (Saved Input Values) records against the current
version of a 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 you can replace by a Smart String part number. The base part number is always stored for the verification
process and the re-configuration process.
200
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 Document
and Method rules you define for the configured base part in the Configurator. If you make any definition changes
to the product configuration (for example, rule syntax has been changed), this utility applies those changes to
existing configurations, using the input values you enter during the original configuration session.
You can verify several part numbers at a time; the Filter sheet enables you to specify additional filtering parameters
used to select the parts being processed.
If you specify filtering parameters, the program only processes the range of part numbers you enter into the
Parts field.
If you do not specify filtering parameters in the Filter sheet, the program loops through all base configured
parts for which the Save Input Values check box is selected in the Configurator > Part Creation sheet. It
then searches for any part numbers 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 defined in the Configurator (Designer).
If the Update Saved Input Values and Set Fields in Part Table check box is selected in Verify Existing
Configurations, it does the following:
It updates the saved input values 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.
It processes any Set Field rules defined for the configurator.
If the program finds an error in an input value for a configured part, it places the part on hold and displays a
message that indicates the nature of the problem and is 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 are 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 creates messages in the log stating what varies between the two methods of
manufacture.
201
Note This is useful when you made changes to the base model configuration and wish to
mass-update all of the configurations created for the base part and are already 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. If the
checkbox is cleared, 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. 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.
Verify Existing Quote Configurations - Select this check box if the Verify Existing Configurations program
should run on quote records that contain configured parts.
Verify Existing Order Configurations - Select this check box if the Verify Existing Configurations program
should run on order records that contain configured parts.
Verify Existing Job Configurations - Select this check box if the Verify Existing Configurations program
should run on job records that contain configured parts.
Parts - Specify the range of part numbers for which the validation process runs. If you do not select any parts,
the default of All Selected displays.
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.
202
Regenerate Configurations
Use Regenerate Configurations as needed to regenerate configurations 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 you select
in the Filter sheet should be regenerated. When you run this program, it selects previously approved configurations
(for which the Approved check box is selected), and performs the following functions:
Regenerates associated rules programs
Regenerates the assigned configuration sequence
Recalculates internal "Has Leave Trigger" records
You can also run this process 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 you run this process in any of the available modes, it generates a log file from which you can
determine if a part returned an error and was not processed.
203
204
The Epicor application uses the entries defined for the company in Web Access URL and Metadata Output
Path fields in the Company Maintenance > General Settings sheet when you deploy a Configurator to EWA.
The Web Access URL field designates the Uniform Resource Locator for EWA web forms. This is the location
where users can access Epicor forms you deploy to EWA (for example, http://lis-t60/EpicorWeb).
MetaData Output Path - This the directory location used by this company to receive metadata. This directory
path indicates where metadata generated through the EWA environment is stored. This metadata is required
for the EWA forms to run properly.
205
Approve the Configurator you are deploying by selecting the Approved check box in Configurator Entry.
2.
From the Actions menu, select Deploy to EWA. While the Epicor application deploys the Configurator, a
Deploying to EWA message displays in the left bottom corner of Configurator Entry, where the Ready
message normally displays. Once the deployment is complete, the Ready message redisplays.
When processing the deployment, the Epicor application creates an .aspx file in the location designated
for the company in the MetaData Output Path field in Company Maintenance. This is the actual file
that displays in a browser when you access the deployed EWA form.
It also creates all accompanying script files required to properly display the Configurator form when a
user accesses the EWA form using the URL designated for the company in the Web Access URL field
in Company Maintenance.
Note If you have already deployed a given Configurator form to EWA, every time you change and reapprove
it, it must be redeployed to EWA.
206
207
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.
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.
The Manufacturing company then builds configured products based on the configuration sales information
received from the Sales company for the ordered item, and the manufacturing (method) rules that have been
defined in, and reside only in the Manufacturing company database.
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 provide an overview of how the configuration process operates in a typical Sales and
Manufacturing company.
208
Uses the configuration rules and parameters specified in the Manufacturing company to generate the
configuration.
Generates a purchase order suggestion in the U.K. Sales company when the Generate PO Suggestions
program is run. In essence, the U.K. Sales company is purchasing the configured items from the U.S.
Manufacturing company; the configuration information may also contain a calculated purchase price.
When the New PO Suggestions program is run, the Epicor application 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 is approved in Purchase Order Entry, the Epicor application passes the configuration
information for the ordered item back to the U.S. Manufacturing company through a 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.
209
210
211
Prerequisites
The following are prerequisites to use of the Configurator in a multi-company environment.
1.
2.
Verify that you have performed all steps required for defining a multi-company environment.
Note Refer to the Multi-Company/Multi-Site Functionality Setup section of the Multi-Site
Company Setup Technical Reference Guide.
3.
Verify that you have performed all setups required for use of intercompany purchase order processing
functions.
Note For more details on setup and use of these functions, refer to the Inter-Company Trading
Setup topic in the Multi-Site Technical Reference Guide.
4.
Verify that you have performed all setups required for use of drop shipping and Buy-to-Order functions if
you are using them in multi-company Configurator processing.
Note For more details on setup and use of these functions, refer to the Buy To Order and Drop
Shipments Processing topics in the Application Help.
212
Setup
The following are required setups for use of the Configurator in a multi-company environment. These setups
enable the multi-company process to manage transactions and communications between the currently selected
company and external companies.
Note These instruction steps are based on the assumption that a Multi-Company environment has already
been setup with a defined external company record for the Multi Company DIRECT data transfer method,
and corresponding external company records have also been defined that use that transfer method.
Note Refer to the Multi-Company/Multi-Site Functionality Setup section of the Multi-Site
Company Setup Technical Reference Guide.
1.
Use External System Maintenance to define an external system for your Enterprise Configurator. This is
a one-time setup that needs to be performed on each database being used.
Click New,
In the External System field, select ENTRPSCONF.
In the External System Name field, assign a name to the external system (for example, Enterprise
Configurator, Enterprise Configurator Direct).
In the Transfer Method field, select of one of the following data transfer method you are using for the
external system:
DIRECT - If data transfers will occur between multiple companies located in a single database.
SERVICEBUS - If using Microsoft Service Bus data transfer between the associated external companies.
Note If you are using the SERVICEBUS data transfer method, verify the status of your Microsoft
Service Bus installation. Microsoft Service Bus is not required if you are using the DIRECT data
transfer method.
2.
Using External Company Maintenance, define the external companies for each Sales and Manufacturing
company in which configuration processing takes place. These are the companies, either within a single
database, or in external databases, with which the current company needs to communicate.
In the External System field, select the external system ID you defined in the previous step.
In the External Company ID field, enter the external company ID, and enter a description in the field
below it.
Example A U.S. Manufacturing company is located in Minneapolis that supplies parts sold by two
Sales companies (one located in the U.K., the other in Milwaukee).
In the U.S. Manufacturing company, you would use External Company Maintenance to define the
two Sales companies as external companies.
Likewise, in each Sales company, you would also use External Company Maintenance to define
the Manufacturing company (Minneapolis) as an external company.
3.
Using External Company Configuration, define how each company should interact with one another.
This is a one-time setup that needs to be performed on each database being used.
In the External System field, select Enterprise Configurator.
In the External Company ID field, search for and select the external company ID you are configuring.
213
Select the Send Part and Send Configurator check boxes for each external company defined in External
Company Maintenance.
Note For the example above, while you are in the U.S. Manufacturing company, you would use
External Company Configuration to configure the two Sales companies. Likewise, while in each Sales
company, you would also use External Company Configuration to configure the Manufacturing
company (Minneapolis).
4.
Verify your Startup Schedule, and then schedule and start the following programs, located in the System
Management > Schedule Processes menu (they can be run as continuous background processes).
If using the SERVICEBUS 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.
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.
Note Refer to the Configurator Synchronization and Configurator Control Data (following the
Sales Companies topic) for more details about the synchronization process.
214
Manufacturing Company
To perform multi-company configuration processing, you must perform the following tasks in the Manufacturing
company:
1.
Create and save the configuration (non-stock) part in Part Maintenance > Part > Detail sheet within the
Manufacturing company.
Once it has been saved, designate it as a global part by selecting the Global check box.
Add a new revision for the configurator part in the Part > Revision sheet and then check it out using
the Revision > Check Out Revision selection on the Actions menu.
Once you have checked out the part revision, select Revision > Engineering Workbench on the Actions
menu.
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.
Use Configurator Entry to create a new Configurator record for the item and define basic settings for it.
Use the Document Rules > Details sheet as needed to create 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. Use the Document Rules > Pricing 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 or Demand Entry.
To enable use of component pricing in a specific configuration, you must also define a 'Set Specified
configurator pricing to Specified expression value' rule action that uses a Pricing.ComponentPricing
entity in the Document Rules > Detail sheet; you select this in the Code Editor. For details, refer to
Adding a New Rule Action.
Note Refer to Component Pricing Options for more details.
Use the Sequence sheet as needed to designate which configurable sub components (assemblies
and materials) are public to other companies. These sub components will synchronize with the external
companies.
4.
Using the Configurator Designer, create the specific structure of the configuration process associated
with the Configurator ID. Note that Method rules only apply to the manufacturing company, and only one
set of is required
Use the Configurator sheets to edit and test On Load, On Loaded, On Complete or On Save configurator
events.
Use the Designer sheets to create configurator input page(s), define input control parameters, input
page behavior, dynamic lists, and global variable inputs (among others) for the selected configurator ID.
215
These are the actual input pages that display when you configure the base part during an actual
Configuration session.
Define global input variables and dynamic lists as needed.
As needed, use the Test Inputs selection on the Actions menu to test input control definitions.
5.
Run the Verify Existing Configurations 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.
6.
Using the Configurator Rules Entry in the Manufacturing company, you must add Method rules for the
configured part. 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.
7.
After designing the configuration in the Configurator Designer, you mark it as an enterprise configuration
in Configurator Entry, approve it, and then deploy it across companies or databases using the follow check
boxes:
Approved - You select this check box after you have designed the entire configuration for the selected
part revision, tested it and it is ready for deployment. When check box is selected, the Design of Change
field is enabled. You must enter free-form text about the nature of the design change. This check box
must be cleared if you want to change the configuration.
Enterprise Configurator - Select this check box if this is an enterprise configurator; this enables the
external company setup options within the Configurator Designer. The Multi-Company module must be
installed for this company to use this check box.
Synchronize - When you ready to copy this configuration to the other Sales companies, select this check
box to synchronize it with external companies. The receiving external companies must have the
Configurator Management license installed; those companies cannot modify the configurator. This check
box is active only if you select the Enterprise Configurator check box for the Configurator ID you are
defining.
Now the configurator is ready for sales purposes, and has been deployed to each Sales company.
216
Sales Companies
To complete the synchronization of incoming part records created in the Manufacturing company, you must
perform the following task in the Sales companies:
1.
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 sites in the Part >
sites sheet.
Note Refer to the Buy To Order and Drop Shipments Processing topic in the Application Help
for more details.
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.
Configurator Synchronization
Depending on the data transfer method being used in your multi-company environment (DIRECT or SERVICEBUS),
you must use the Configurator Sync Direct Server Process (or Enterprise Configurator Server Process) and the
Multi-Company Direct Server Process (or Multi-Company Server Process) programs to synchronize configuration
data between multiple companies in a single database, or companies located in external databases.
If you are using the SERVICEBUS 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 company to another.
If you are using the DIRECT data transfer method for multi-company processing, you must use the Configurator
Sync Direct Server Process (instead of the Enterprise Configurator Server Process) for these updates.
These programs are designed to run as continuous background processes and 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 Direct Server Process (or Multi-Company Server Process), it
sends the configured part to the Sales companies.
Depending on the data transfer method (DIRECT or SERVICEBUS) 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.
These processes need to be used on a continuous basis 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 Configurator Sync Direct Server Process
or Enterprise Configurator Server Process to an Interval Task Schedule. 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.
217
Note The Configurator Sync Direct Server Process (or Enterprise Configurator 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 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 > Schedule Processes > Enterprise Configurator Server Process
218
219
Sales Company
The following tasks generally take place in the Sales company when the part is ordered by a customer:
1.
Using Order Entry create an order for the part. Perform the following:
If the Manufacturing company is drop shipping the item, you 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 part.
Create a new order line item, enter the base part into the Part/Rev field and enter an order quantity
into the Order Quantity field.
After clicking Configure, proceed to configure the part using the configuration process defined in the
Manufacturing company. Once you save the order, the Epicor application automatically updates the
pricing for the item; this is based on the order and component pricing parameters specified for the part
in the Manufacturing company.
If the ordered item is being drop shipped directly to the customer from the Manufacturing company,
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 actually your Manufacturing company.
The Epicor application uses the configuration rules and parameters specified in the Manufacturing
company when generating the configuration.
2.
Run Generate PO Suggestions to create PO suggestions for the sales order. This normally runs as a
background process.
3.
Use New PO Suggestions to convert the PO suggestion into a purchase order (this normally runs as a
background process). To do this, select the PO suggestion generated for the configuration part, and then
use the Generate Purchase Orders option on the Actions menu.
4.
Using Purchase Order Entry, you then verify the price and approve the purchase order. Once approved,
the Epicor application automatically synchronizes it to the Manufacturing company. This is the purchase
order used by the Sales company to purchase the part from the Manufacturing company.
Note You can also 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 add
them, right-click it, then select Configure to access a Configurator Q&A session.
220
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:
1.
Convert the Sales company purchase order to a sales order in the Manufacturing company in Incoming
Intercompany Purchase Order Suggestions:
Select the purchase order in the PO field.
Select the Ready for Order check box.
From the Actions menu, select the Accept All option.
Note By doing this, the Epicor application converts the Sales company purchase order to a sales
order in the Manufacturing company.
2.
In effect, the Manufacturing company is selling the manufactured part to the Sales company (the Sales
company is considered a customer of the Manufacturing company). Once the sales order is approved, the
Epicor application flags the ordered part as a Manufactured part.
3.
The Epicor application then processes it as it would any other 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.
4.
After completion of the job, the products are shipped to the Sales company using Customer Shipment
Entry, or dropped shipped directly to the customer, depending on the drop ship settings defined for the
sales order in the Sales company. The Epicor application automatically synchronizes shipment information
through the Multi-Company module functions.
221
Modifiers
Modifiers
This section details the various fields and tools you can use to adjust the primary 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 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 Configurator. It does not include data entry fields that simply update literals that
do not impact of the Configurator functionality.
Set Specified configurator pricing to Specified constant value - Change an entity pricing field value using a
constant value.
Example You can specify that order line pricing for a specified material be set to a constant decimal
value (for example, 15.000.
Set Specified configurator pricing to Specified expression value - Change an entity pricing field value using
an expression value.
Example Order line pricing for a specified material varies based on a conditions you define; under
certain circumstances, the price of the item is 15.00, but in other circumstances, such as volume ordering,
the price is 14.50).
Execute Specified expression - Invoke the Code Editor and define a C# conditional code expression; you can
select user defined and system functions (such as Get Smart String) for use within the expression.
Note Refer to User Defined Functions for more details.
Note Refer to Rule Function Actions for more details.
222
Modifiers
To modify the selected rule action, click on the highlighted text within the condition to open one of the following
windows:
Entity Selection Editor
Option List Editor
Price Entity Selection Editor
Value From String Constant Editor
Code Editor
Example If you select 'Set Specified configurator pricing to Specified expression value' rule action in
this field, and click the first Specified clause, you use the Price Entity Selection Editor to specify if this rule
action should apply to ECCOrderDtl (Epicor Commerce Connect Order Detail), Purchase (purchase order
line), Order (order line), Quote (quote line) or Demand (demand line) pricing. If you click the second
Specified clause, you use the Code Editor to create an accompanying C# code expression.
Where Located
The Action field is located in the Configurator Entry > Document Rules > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
223
Modifiers
Note Expressions are further defined by selecting the link element located in each expression.
Example Select the 'Execute Specified expression' action and click on the Specified link to open the
Code Editor. Enter a new expression and click OK to confirm.
Example Select the 'Set Specified field of current element to Specified value' action and click on the first
Specified link to open the Option List Editor. The editor displays fields related to the BOM or BOO element
selected. Depending on the field type selected using the first Specified link, a form opens to be filled with
value. The available forms are:
Value From String
Value From Decimal
Value From Date
Value From Logical (Boolean)
Where Located
The Action field is located on the Configurator Rule Entry > Rule Sets sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Allow Reconfiguration
Specifies if a configuration that was originally configured in another entity can be reconfigured in the new entity.
Example If you configure a buy direct configuration in Sales Order Entry and transfer it to Purchase Order
Entry, this check box designates whether the buyer can reconfigure the purchase order line that was
originally configured by the sales person. This check box has no bearing on reconfiguration within the same
entity, meaning that if the configuration is configured in Sales Order Entry, the salesperson is always allowed
to reconfigure in Sales Order Entry.
Clear the check box to prevent a configuration that was originally configured in another entity from being
reconfigured in the new entity.
224
Modifiers
Where Located
The Allow Reconfiguration check box is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Where Located
The Allow Record Creation check box is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
225
Modifiers
Where Located
The Approved check box is located on the Configurator Designer > Configurator 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
226
Modifiers
Where Located
The Approved check box is located in the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
227
Modifiers
Where Located
The Approved check box is located on the Configurator Rule Entry > Part/Rev sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
Where Located
The Approved check box is located on the Part Maintenance > Part > Revisions > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
> Gift Card - Item
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
228
Modifiers
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.
Assembly Part
Displays a unique Part ID for the Assembly part. The value in this field changes based on the Assembly or
Subassembly selection made in the tree view (method of manufacture). In the tree view, if you click on a material
sequence, this field displays the parent part record to which the selected material belongs.
Example An assembly part A contains materials B and C. If you click material B or C, the assembly part
A displays in this field.
An assembly part A contains materials B and C. Part B is a subassembly and contains materials D and E
(has its own method of manufacture). If you click on material D or E the subassembly part B displays in
this field because materials D and E are children or the subassembly B.
229
Modifiers
Where Located
The Assembly Part field is located on the Configurator Rule Entry > Part/Rev sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
Where Located
The Automatically Mark Methods Global check box is located on the Configurator Entry > Document
Rules > Pricing Option sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
230
Modifiers
Available Companies
Displays a listing of available external companies.
If you select the Multi-Company Rule check box, you can select the external companies to which the Document
rule applies. To select specific companies, select the companies and click the single right arrow button to move
them to the Selected Companies field. Use the double right arrows button to select and move all displayed
companies.
Where Located
The Available Companies field is located in the Configurator Entry > Document Rules > Enterprise
Configurator sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Available Inputs/Format
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 Component Name field in the grid at the bottom of the Record Creation > Part
Creation sheet.
The Selected Inputs field establishes which inputs should be included in the Smart String for a configuration of
the part.
This grid establishes which inputs should be included in the Smart String for a configuration of the part.
Click the Move Up or Move Down buttons 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 Configurator Entry > Record Creation > Part
Creation sheet.
231
Modifiers
Where Located
The Available Inputs / Format buttons are located on the Configurator Entry > Record Creation > Smart
String sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
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 Entry > Record Creation
> 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.
Available Methods
Specify the method of manufacture you are using to assign a part number in the configuration session (rather
than generate one). Available methods control the part number created and are used to update the quote line,
order line, job, purchase order, or demand order part number fields when the base configured part is being
configured in those entities.
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.
232
Modifiers
Where Located
The Available Methods field is located on the Configurator Entry > Record Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
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
Configurator Entry > Rules Creation > 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 the Prompt User to Confirm New Part check box 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 if or how the Epicor application should construct a Smart String for this Configuration ID.
Select one of the following:
No Smart String Functionality - No Smart String should be created.
Smart String Constructed from Inputs - The Epicor application should construct the Smart String 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 available inputs search
and select grid.
Part Number + Order Number/Quote Number + Order/Quote Line - The Epicor application should
construct the Smart String from the part number, the number of order or quote, and the line number from
the order or quote.
Part Number + Sequential Number - The Epicor application should construct the Smart String from the
part number and a sequential number.
Where Located
The Available Styles field is located on the Configurator Entry > Record Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
233
Modifiers
Logic/Algorithms
If the Use Smart String as the new part number option has been selected in the Available Methods field
in the Configurator Entry > Record Creation > 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 Part Creation sheet and updates any of the fields that
may have been selected on this tab (for example, 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.
Column Label
Specifies the name of the lookup table column. The same name displays in a CSV file once you export the column.
If you import the column from a CSV file, the name you entered in the file displays.
Where Located
The Column Label field is located on the Configurator Lookup Table Maintenance > Lookup Table sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
System Setup > System Maintenance > Lookup Table
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > Setup > Configurator Lookup Table
234
Modifiers
Column Set
Specifies the name of the lookup table column. The same name displays in a CSV file once you export the column.
If you import the column from a CSV file, the name you entered in the file displays.
Where Located
The Column Set field is located on the Configurator Lookup Table Maintenance > Lookup Table sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
System Setup > System Maintenance > Lookup Table
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > Setup > Configurator Lookup Table
Configuration Type
Indicates the type of configurator you are defining. The options include the following:
Product Configurator - Can be linked to part revisions if the part is a non-stock item. These configurations,
when approved, will be available in Opportunity/Quote Entry, Order Entry, Demand Entry, Job Entry and
Purchase Order Entry. The Product Configurator type activates the following configuration programs:
1.
Configurator Entry
2.
Configurator Designer
3.
Note The Product Configurator type is only available if the Product Configurator license is installed.
Inspection Plan Configurator - Can be linked to inspection plans. These configurations, when approved,
will be available in Inspection Data Collection, which can be accessed from various programs, for example
Inspection Processing, Time and Expense Entry, MES, or the Main Menu. The Inspection Plan Configurator
type activates the following configuration programs:
1.
Configurator Entry
2.
Configurator Designer
235
Modifiers
Note The Inspection Plan Configurator type is only available if the EQM license is installed.
Where Located
The Configuration Type field is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Where Located
The Configurator ID field is located on the Configurator Designer > Configurator 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
236
Modifiers
Where Located
The Configurator ID field is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
Where Located
The Configurator ID field is located on the Configurator Rule Entry > Part/Rev sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
237
Modifiers
Where Located
The Configurator ID field is located on the Configurator User Defined Methods Maintenance > Method
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
Where Located
The Configurator ID field is located on the Part Maintenance > Part > Revisions > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
> Gift Card - Item
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
238
Modifiers
Where Located
The Create Alternative Methods check box is located on the Configurator Entry > Record Creation > Part
Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Where Located
The Create New Part Number at Zero Cost check box is located on the Configurator Entry > Record Creation
> Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
239
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 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 unit cost 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 Entry > Record Creation > Part Creation sheet. When it creates the part record, the Epicor
application assigns a value of 125.00 as the unit cost (the same as the base configured part). If the Create New
Part Number at Zero Cost check box has been selected, it creates the part number the same way, but does
not assign the 125.00 value as the unit cost.
Where Located
The Create Non-Configured Part check box is located on the Configurator Entry > Record Creation > Part
Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
240
Modifiers
Where Located
The Customer Part Number check box is located on the Configurator Entry > Record Creation > Part
Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
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 Enable Part Number Creation 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.
241
Modifiers
Where Located
The Create Revision check box is located on the Configurator Entry > Record Creation > Part Creation
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Where Located
The Data Type parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
242
Modifiers
Note Depending on the data type selected in the Data Type field, specify the default initial value for the
global variable input being defined (for example, define initial date, decimal, logical or string value). The
Initial Date Value, Initial Decimal Value and Initial String Value fields, and the Initial Logical Value
check boxes are all optional entries.
Where Located
The DataType field is located on the Global Input Variables selection on 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
Where Located
The DataType 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
243
Modifiers
Where Located
The Default ECO Group field is located on the Configurator Entry > Record Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
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 Entry > Record Creation > Part Creation 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 Entry > Record Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
244
Modifiers
Example
If the All Digits option has been selected in the Digit Structure field in the Configurator Entry > Record Creation
> Part Creation 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.
Where Located
The Display Configuration Summary Grid field is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Document Rules
Specifies if Document rules defined for the configuration (in the Configurator Entry > Document Rules sheet)
should be imported.
Select this check box to import Document rules for the configuration. Clear the check box to skip import of
configuration Document rules. In the field to the right, select one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing Document rules in the
selected Configuration record before creating new records using the import file.
Append - If you select the Append option, the Epicor application verifies if the Document rules already exist
in the selected Configuration record. If the record exists, it will not be updated. Only records that do not exist
are created and updated. This allows a user to keep any local changes they make to existing records.
245
Modifiers
Where Located
The Document Rules check box is located on the Import Configuration selection, on the Actions menu in
Configurator Entry.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Dynamic List
Use this parameter setting to launch the Dynamic Lists Editor where you define a dynamic list for a selected
combo box control on a design page. 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). Unlike standard combo-boxes that
offer a fixed set of choices, dynamic lists affix choices based on conditions established in the Dynamic Lists Editor.
To create a fixed, rather than dynamic list of options, leave this parameter set to False and use the List Items
parameter instead.
Where Located
The Dynamic List parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
246
Modifiers
Edit
Click this button to launch the Code Editor to create C#-based code expression syntax for the user defined
method.
Where Located
The Edit button is located on the Configurator User Defined Methods Maintenance > Method sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
Where Located
The Enable Part Number Creation field is located on the Configurator Entry > Record Creation > Part
Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
247
Modifiers
Logic/Algorithms
When saving a configuration during a configuration session, the Epicor application verifies if the Enable Part
Number Creation check box has been selected in the Configurator Entry > Record Creation > 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
Configurator Entry > Detail and Configurator Entry > Record Creation > Part Creation sheets.
Where Located
The End Date field is located on the Configurator Designer > Design > Input 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
Ending Decimal
Specifies the ending decimal for a validated numeric fill-in. Use this field to specify the acceptable ending range
of valid numeric responses
Where Located
The Ending Decimal field is located on the Configurator Designer > Design > Input 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
248
Modifiers
Enterprise Configurator
Indicates that the selected configurator is an enterprise configurator and enables external company setup options
within the Configurator Designer. The Multi-Company module must be installed for this company to use this
check box.
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.
Select this check box if this is an enterprise configurator.
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 is defined and used (the part is 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 Entry > Status sheet.
To do this for a job, you add the part to the Material node in the Job Entry tree view. After you add
the part, 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 add the part, right-click it, then select Configure to
access a Configurator Q&A session.
Where Located
The Enterprise Configurator check box is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
249
Modifiers
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 Entry > Smart String sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
External Ref
Select True to enable referencing of an external source. This allows you to select a correct attribute type for the
current input.
Note If the external reference is used, then the Initial Value, Label and Tooltip parameter settings may
come from the Attribute pSelect Trueroperties.
Where Located
The External Ref check box is located on the Configurator Designer > Design > Page Designer > Input List
sheet. A corresponding True/False External Ref parameter is located on the Configurator Designer > Design
> Page Designer - Input Properties pane.
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
250
Modifiers
2.
Select Leading Sign on Negative Numbers Only to allow entry of negative numbers with a sign ( -)
in front of the number.
Character Format - This window displays as a result of selecting the String option in the Value Type field.
Use this window to specify the number of allowable characters that can be entered into the column fields.
The Character options include the following:
1.
Any Character - Any character (for example, alphanumeric, punctuation marks) can be entered.
2.
Date Format - This window displays as a result of selecting the Date Time option in the Value Type field.
Use this window to specify the allowable date format that can be entered into the column fields.
Where Located
The Format field is located on the Configurator Lookup Table Maintenance > Lookup Table sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
System Setup > System Maintenance > Lookup Table
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > Setup > Configurator Lookup Table
251
Modifiers
2.
Select Leading Sign on Negatives Only to allow entry of negative numbers with a sign ( -) in front of
the number.
3.
Select Trailing Sign on Negatives Only to allow entry of negative numbers with a sign ( -) that trails
the number.
Example Add a Decimal type input control to configuration input page using the Toolbox, and then
select the Allow Positive Numbers Only option in the Negatives field in the Data Format Editor.
Notice that the input control does not allow entry of a negative number when you select Test Inputs
from the Actions menu.
Number of Digits - Specify the number of digits, before the decimal point, that are allowed in the selected
Decimal input control.
Number of Decimals - Enter the number of decimal places, after the decimal point, that is allowed in the
selected Decimal input control. Note that integers are not an input type themselves, but are simply decimals
with zero precision.
252
Modifiers
Example Add a Decimal input control to configuration input page, and then enter a value into the
Number of Decimals field in the Data Format Editor. Notice that the input control does not allow entry
of a value with a greater number of decimal places.
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 Format field is located on the Configurator Designer > Design > Input 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
Where Located
The Format parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
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
253
Modifiers
Generate Method
Normally, when you select the Enable Part Number 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.
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.
Where Located
The Generate Method check box is located on the Configurator Entry > Record Creation > Part Creation
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
254
Modifiers
Where Located
The GIV Name combo box is located on the Configurator Designer > Design > Page Designer > Input List
sheet. A corresponding Global Variable Name combo box is located on the Configurator Designer > Design
> Page Designer - Input Properties - Input Properties pane.
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
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, a Global Input has changed,
would you like to apply this change for all detail lines? message displays, asking if you would like to apply
this value across all detail lines:
Clear 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 > Design > Page Designer > Input Lists
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
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
255
Modifiers
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.
Where Located
The Global Input Variable check box is located on the Configurator Designer > Design > Input List sheet.
A corresponding True/False Global Input Variable parameter is located on the Configurator Designer >
Design > Page Designer - Input Properties pane.
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
256
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 Variables
Specifies if global input variables defined for the configurator using the Global Input Variables selection in the
Actions menu in the Configurator Designer sheet should be imported.
Select this check box to import global input variables for this configurator. Clear the check box to skip import
global input variables. In the field to the right, select one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing Global Variables in the
selected Configuration record before creating new records using the import file.
Append - If you select the Append option, the Epicor application verifies if the Global Variables already exist
in the selected Configuration record. If the record exists, it will not be updated. Only records that do not exist
are created and updated. This allows a user to keep any local changes they make to existing records.
Where Located
The Global Variables check box is located on the Import Configuration selection, on the Actions menu in
Configurator Entry.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
257
Modifiers
Height / P Height
Specifies the height of the input control. It allows you to specify, in pixels, the height of the input control.
Where Located
The P Height field is located on the Configurator Designer > Design > Page Designer > Input List sheet. A
corresponding Height parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
Where Located
The Height parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
(Page Level Properties) pane.
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
258
Modifiers
Where Located
The Hide from Summary parameter is box is located on the Configurator Designer > Design > Page Designer
- Input Properties pane. A corresponding Hide in Summary check box is located on the Configurator Designer
> Design > Input 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
Horizontal
Select True if the radio set should be displayed horizontally in the input page. Select False if it should be displayed
vertically.
Where Located
The Horizontal parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane. A corresponding Horizontal check box is located on the Configurator Designer > Design
> Page Designer > Input Lists 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
259
Modifiers
Where Located
The Incoming Smart String check box is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
260
Modifiers
Increment
Specifies the increment value for the input control. The increment determines increase of the value.
Example Enter 5 into the Minimum Value parameter, 50 into the Maximum Value parameter, and 5
into the Increment parameter if you allow entry of values from 5 to 50, at increments of 5 (into the numeric
control being defined) during an actual configuration session.
Where Located
The Increment Precision field is located on the Configurator Designer > Design > Input List sheet. A
corresponding True/False Increment parameter is located on the Configurator Designer > Design > Page
Designer - Input Properties pane.
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
Where Located
The Initial Date Value field is located on the Global Input Variables selection on 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
261
Modifiers
Where Located
The Initial Decimal Value field is located on the Global Input Variables selection on 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
Where Located
The Initial Logical Value check box is located on the Global Input Variables selection on 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
262
Modifiers
Example
A logical global input variable GLOBAL1 has been created, and the Initial 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 check box input to selected.
Where Located
The Initial String Value field is located on the Global Input Variables selection on the Actions menu in the
Configurator Designer.
Initial Value
Specifies the initial value of the input control upon load of the configuration for the first time. This is an optional
parameter; leave it blank if you do not want a default option selection to display in this combo box during an
actual configuration session.
Example For a Decimal input control, enter the default value (if any) for the control (for example, 1.2).
This is an optional parameter; leave it blank if you do not want a default value to display in this control
during an actual configuration session.
Example For a Combo Box input control, specify the default option selection (if any) (for example, Green).
This is an optional parameter; 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 control must be one
of the list items that were specified in the List Items parameter.
Where Located
The Initial Value parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Designer
263
Modifiers
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 > Design > Page Designer - Input Properties
pane or the Configurator Designer > Design > Page Designer > Input 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
Inputs
Specifies if input parameters, including page details and dynamic lists defined in the Configurator Designer should
be imported.
Select this check box to import input detail and dynamic lists defined for the configuration. Clear the check box
to skip import of configuration input detail. In the field to the right, select one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing input detail and dynamic
lists in the selected Configuration record before creating new records using the import file.
Append - If you select the Append option, the Epicor application verifies if the input detail and dynamic lists
already exist in the selected Configuration record. If the record exists, it will not be updated. Only records
that do not exist are created and updated. This allows a user to keep any local changes they make to existing
records.
Where Located
The Inputs check box is located on the Import Configuration selection, on the Actions menu in Configurator
Entry.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
264
Modifiers
Where Located
The Attribute ID field is located on the Configurator Designer > Design > Page Designer > Input List sheet.
A corresponding Inspection Attribute parameter is located on the Configurator Designer > Design > Page
Designer - Input Properties pane.
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
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 > Design > Input List sheet. A corresponding
True/False Invisible parameter is located in the Configurator Designer > Design > Page Designer - Input
Rules pane.
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
265
Modifiers
In the Code Editor, enter the required condition and click OK to confirm.
Example
TheInputs.epiPcCheckBox1.Value==true
Note Once you confirm the entered expression, the Syntax is Correct confirmation message
displays.
To change the code expression to a not equal to condition, click equal to.
To change the code expression to a false condition, click true.
When you finish, click Save.
266
Modifiers
Label
Enter the literal text that appears next to this control on the input page during an actual configuration session
in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry.
Where Located
The Label field is located on the Configurator Designer > Design > Page Designer > Input List sheet. A
corresponding Label parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
Location
Specifies the relative location of the input control on the page in the X and Y coordinates. Using these parameters,
you can designate the precise placement and sizing of the control.
X - Specifies the X-position of the input control on the page.
Y - Specifies the Y-position of the input control on the page.
Note You use the X and Y parameters to specify the X and Y coordinates, allowing you to precisely
place the control vertically and horizontally on the input page. These parameters display when you open
the Location parameter.
Where Located
The Location parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
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
267
Modifiers
Lookup Table
Enter a unique identifier to assign to this Lookup Table, or click Lookup Table to search for and select the existing
Lookup Table records.
Where Located
The Lookup Table field is located on the Configurator Lookup Table Maintenance > Lookup Table sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
System Setup > System Maintenance > Lookup Table
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > Setup > Configurator Lookup Table
Material
Specifies a material sequence required to complete the operation included in the method of manufacture to
produce the Assembly part or the Subassembly material(s).
For this field to populate, in the tree view, you must select a Material sequence linked to an operation. Once you
select the material in the tree view, the Material field populates. The Operation field also displays the Operation
sequence, showing the user to which operation the selected material belongs.
Where Located
The Material field is located on the Configurator Rule Entry > Rule Sets sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
268
Modifiers
Method
Displays the user-defined method expression in a read-only format.
Where Located
The Method field is located on the Configurator User Defined Methods Maintenance > Method sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
Method Rules
Specifies if Method rules defined for the configuration (in Configurator Rule Entry) should be imported.
Select this check box to import Method rules for the configuration. Clear the check box to skip import of
configuration Method rules. In the field to the right, select one of the following:
Replace - If you select the Replace option, the Epicor application deletes any existing Method rules in the
selected Configuration record before creating new records using the import file.
Append - If you select the Append option, the Epicor application verifies if the Method rules already exist in
the selected Configuration record. If the record exists, it will not be updated. Only records that do not exist
are created and updated. This allows a user to keep any local changes they make to existing records.
Where Located
The Method Rules check box is located on the Import Configuration selection, on the Actions menu in
Configurator Entry.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
269
Modifiers
Method Type
Specifies where the method is executed. Valid options include:
Client - Client side user defined methods can only be called from the Client side events and expressions
located in the Configurator Designer, and the configurator events located in Configurator Entry.
Note The Client side user defined methods cannot query the database as they do not have access to
the Server side framework. They have only access to the Client side context functions, Lookup functions,
Field Property functions, and other Client side user defined methods. They are defined in a new business
object which can be accessed through the Main Menu or the Actions menu located in Configurator
Entry and the Configurator Designer.
Server - Server side user defined methods can be executed from both the Client and the Server side and have
the capability to execute queries against the database. They have access to the Server side context functions,
Lookup functions, Field Property functions, Database tables (queries), and other Server side user defined
methods.
Where Located
The Method Type field is located on the Configurator User Defined Methods Maintenance > Method
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
270
Modifiers
Where Located
The Minimum Value and Maximum Value paramter settings are located in the Configurator Designer >
Design > Page Designer - Input Properties pane.
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
Where Located
The Minimum Value, Maximum Value and Increment parameters are located on the Configurator Designer
> Design > Page Designer > Input Properties 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
271
Modifiers
Modifier
Specifies a modifier for the parameter you are defining. Valid options include:
blank - Input parameter not returning a value
out - Output parameter returning a value. An output parameter indicates that the object will be initialized
inside the method. Also use this parameter in case you need to return multiple values.
ref - Reference to an object. Reference variables have to be initialized before being passed as parameters to
a method. For example, if you need to pass in a parameter and get back the modified result then pass it as
a ref parameter.
Where Located
The Modifier field is located on the Configurator User Defined Methods Maintenance > Parameters Panel
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
Multi-Company Rule
Specifies whether the document rule(s) you entered into the Document Rules > Detail sheet can be used by
external companies when they receive customer orders for the configured items.
Once you select this check box, you can select a required company(s) that display in the Select Companies
section. Clear the check box if the document rule cannot be used by external companies. You can only access
this check box if the Enterprise Configurator check box was selected for the Configurator ID in the Configurator
Entry > Detail sheet.
Where Located
The Multi-Company Rule check box is located in the Configurator Entry > Document Rules > Enterprise
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
272
Modifiers
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
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.
273
Modifiers
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.
Note When you first place an input control on the Page Designer, you can enter your own unique
name to identify it. However, once you save the page design, you can no longer 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 Memo selection on the Actions menu to document the purpose of
the control, and alternately, use a separate spreadsheet to list all inputs, stating the configuration,
intent, and control label.
Where Located
The (Name) parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane. The Input Name field is located on the Configurator Designer > Design > Page Designer > Input
Lists 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
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 Negatives Only to allow entry of negative numbers with a sign ( -) in front of the
number.
Select Trailing Sign on Negatives Only to allow entry of negative numbers with a sign ( -) that trails the
number.
Where Located
The Negatives field is located on the Data Format Editor - Numeric Format window, accessed by clicking the
button to the right of the Format parameter setting in the Configurator Designer > Design > Page Designer
- Input Properties pane when specifying the format for Decimal type input controls.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Designer
274
Modifiers
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.
Where Located
The Notify User of Duplicate Part Numbers check box is located on the Configurator Entry > Record
Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Example
If this check box is selected, 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 Configurator Entry > Record Creation
> 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 Notify User of Duplicate Part Numbers check box has been cleared, this message does not appear
in this situation.
275
Modifiers
Number of Decimals
Enter the number of decimal places, after the decimal point, allowed in the selected Decimal type input control.
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 the Data Format Editor - Numeric Format window, accessed by
clicking the button to the right of the Format parameter setting in the Configurator Designer > Design >
Page Designer - Input Properties pane when specifying the format for Decimal type input controls.
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
Logic/Algorithms
The number of decimals specified in this field determines 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
control.
Example
Add a Decimal type input control to configuration input page using the Configurator Designer > Design > Page
Designer sheet. Access the Data Format Editor - Numeric Format window by clicking the button to the right of
the Format parameter setting in the Input Properties pane, and then enter a value into the Number of Decimals
field. Notice that the input control does not allow entry of a value with a greater number of decimal places.
276
Modifiers
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 the Data Format Editor - Numeric Format window, accessed by
clicking the button to the right of the Format parameter setting in the Configurator Designer > Design >
Page Designer - Input Properties pane when specifying the format for Decimal type input controls.
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
Logic/Algorithms
This logic is the same as in the Number of Decimals field, but you use the Number of Digits field 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.
On Field Changed
Use this parameter setting to define the specific actions that should take place when a user exits a particular
control (field) on an input page during an actual configuration session. To create an On Field Changed action,
click the button on the right to access the Code Editor window to enter the appropriate C# code syntax.
An On Field Changed action triggers when a user changes the value of the specified control on an input page
while it is in focus and saved during an actual configuration session. Compared to the On Field Validation action,
which is triggered when the user changes the value of the specified control on the page while the page is in
focus prior, to saving the value, the change already happened. The On Field Changed action does not trigger
any other actions unless specifically defined as an action.
Example You create a Length field on your configurator page and would like to be prompted with a
question whether you want to change the Length input value. If you click Yes once the message displays,
the value will be automatically changed to 20.
if(MessageBox.Show(Do you want to change Length input?'',''FieldChanged''.M
essageBoxButtons.YesNo.MessageBoxIcon.Question)==
DialogResultYes)
277
Modifiers
{
Inputs.Length.Value = 20;
}
Note The On Field Changed action is not triggered until you leave the field.
Where Located
The On Field Changed parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties (Input Level Actions) pane.
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
On Field Validating
Use this parameter setting to define the specific actions that should take place when a user changes the value
of a particular control (field) on an input page during an actual configuration session. To create an On Field
Changed action, click the button on the right to access the Code Editor window enter the appropriate C# code
syntax.
An On Field Validation action triggers when a user changes the value of the specified control on an input page
while the page is in focus, prior to saving the value during an actual configuration session. Compared to the On
Field Changed action, the change can still be prevented. The field validation action does not trigger any other
actions unless specifically defined as an action.
Example You create a Length field on your configurator page and would like to be prompted to validate
the newly entered value that you enter in this field.
MessageBox.Show(''Field Validate'');
Where Located
The On Field Validating parameter is located on the Configurator Designer > Design > Page Designer Input Properties (Input Level Actions) pane.
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
278
Modifiers
On Page Leave
To create an On Page Leave event, click the button on the right to access the Free Code Editor window to enter
an appropriate C# code expression.
This action is triggered when leaving the specified page while it is in focus during a configuration session, when
a user either moves forwards or backwards between configurator pages. The page leave action does not trigger
any other action unless specifically defined as an action.
Example
MessageBox.Show(''Page is Leaving'');
Where Located
The On Page Leave parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties (Page Level Actions) pane.
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
On Page Load
To create an On Page Load action, click the button on the right to access the Free Code Editor window to enter
an appropriate C# code expression.
This action is triggered when the page in focus is loading during a configuration session, either upon the first
load or when a user moves forwards or backwards between configurator pages. The page load action does not
trigger any other action unless specifically defined as an action.
Example
MessageBox.Show(''Page is in a Load stage'');
Where Located
The On Page Load parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties (Page Level Actions) pane.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Designer
279
Modifiers
On Page Loaded
To create an On Page Loaded action, click the button on the right to access the Free Code Editor window to
enter an appropriate C# code expression.
This action is triggered when the page has been loaded during a configuration session. At this point you cannot
cancel page loading.
Example
MessageBoxShow(''Page is Loaded'');
Where Located
The On Page Loaded parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties (Page Level Actions) pane.
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
Operation
Displays a unique Part ID for the Assembly part. The value in this field changes based on the Assembly or
Subassembly selection made in the tree view (method of manufacture). In the tree view, if you click on a material
sequence, this field displays the parent part record to which the selected material belongs.
Example An assembly part A contains materials B and C. If you click on material B or C the assembly part
A displays in this field.
An assembly part A contains materials B and C. Part B is a subassembly and contains materials D and E
(has its own method of manufacture). If you click on material D or E the subassembly part B displays in
this field because materials D and E are children or the subassembly B.
280
Modifiers
Where Located
The Operation field is located on the Configurator Rule Entry > Rule Sets sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
Where Located
The Page parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
(Page Level Properties) pane.
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
281
Modifiers
The Epicor application then moves the input control to the designated page and displays the change in the
Tree view.
Where Located
The Page parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
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
Where Located
The Page Display Sequence field is located on the Configurator Designer > Design > Page Designer >
Input List sheet, and on the Configurator Entry > Smart String sheet. A corresponding Page Sequence
parameter is located on the Configurator Designer > Design > Page Designer- Input Properties pane.
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
282
Modifiers
Page Title
Enter the free-form title for the configurator input page you are creating for this configuration. This title displays
in the configurator input page during an actual configuration 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 > Design > Page Designer - Input Properties
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
Logic/Algorithms
None
Param Name
Specifies a name of the parameter. The parameters automatically load based on the selected data look up method.
The following is the list of parameters based on the data look up method selection (valid parameter types are in
bold):
Data Lookup - columnName, rowName
Data Row List - rowName
Data Row List Number - rowName
Data Row Range List - rowName, startColumn, endColumn
Data Row Lookup List - rowName, searchValue
Data Column List - colName
Data Column Range List - colName, startRow, endRow
Data Column Lookup List - colName, searchValue
283
Modifiers
Where Located
The Param Name field is located in the Dynamic Lists Editor.
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
Parameter Name
Specifies the name for the parameter you are defining.
Where Located
The Parameter Name field is located on the Configurator User Defined Methods Maintenance > Parameters
Panel sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
Param Type
Specifies a modifier for the parameter you are defining. Valid options include:
String - A character string is passed
Boolean - A logical value is passed
Date - A date value is passed
Decimal - A decimal value is passed
Integer - An integer is passed
Array - An array of strings is passed
284
Modifiers
Where Located
The Param Type field is located on the Configurator User Defined Methods Maintenance > Parameters
Panel sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
The Param Type field is also located in the Dynamic Lists Editor.
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
Part Description
Select this check box if the Smart String generated during an actual configuration session should be actual part
description displayed 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 the Epicor application is creating new
part records during the 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 Entry > Record Creation > Part Creation
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
285
Modifiers
Part/Rev
Click this button to search for and select the existing part record to which the Configurator ID is tied.
In the field to the right, select the specific revision for which a configuration rule is being defined. This is the
unique identifier for the revision of the Part record checked out to the ECO group. The method of manufacture
that you build or maintain is directly related to the part's revision.
Where Located
The Part/Rev field is located on the Configurator Rule Entry > Part/Rev sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
Where Located
The X, Y, Width and Height fields are located on the Configurator Designer > Designer > Page Designer
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
286
Modifiers
Where Located
The Preface w/ Part Number check box is located on the Configurator Entry > Record Creation > Part
Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Where Located
The Prompt For Checkout check box is located on the Configurator Entry > Record Creation > Part Creation
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
287
Modifiers
Where Located
The Prompt For Configuration check box is located on the Configurator Entry > Record Creation > Part
Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
288
Modifiers
Where Located
The Prompt User to Confirm New Part check box is located on the Configurator Entry > Record Creation
> Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
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 the Prompt User to Confirm New Part check box
setting prior to saving the configuration. If this checkbox is selected, it displays a message asking the user if a
new part number should be created for the configuration.
Publish to Doc
Select True for the values to be shared between input fields with the same name used in configurators linked
to lines of the same document. .
Where Located
The Publish to Doc parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Designer
289
Modifiers
Where Located
The Read Only check box is located on the Configurator Designer > Design > Page Designer > Input List
sheet. A corresponding True/False Read Only parameter is located on the Configurator Designer > Design >
Page Designer - Input Properties pane.
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
Where Located
The Read Only parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties (Page Level Properties) pane.
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
290
Modifiers
Where Located
The Read Only Expression field is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding Read Only Expression parameter is located on the Configurator Designer >
Design > Page Designer - Input Properties pane.
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
Where Located
The Read Only Expression parameter is located on the Configurator Designer > Design > Page Designer
- Input Properties (Page Level Properties) pane.
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
291
Modifiers
Where Located
The Required Input check box is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding True/False Required parameter is located on the Configurator Designer > Design
> Page Designer - Input Properties pane.
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
Return Type
Specifies the data type that you want the Epicor application to return for this expression when processed. Valid
options include:
Void - Nothing is returned
String - A character string is returned
Boolean - A logical value is returned
Date - A date value is returned
Decimal - A decimal value is returned
Integer - An integer is returned
Array - An array of strings is returned
Where Located
The UD Method field is located on the Configurator User Defined Methods Maintenance > Method sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator User
Defined Methods Entry
292
Modifiers
Where Located
The Rule Condition field is located in the Configurator Entry > Document Rules > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
293
Modifiers
In the Code Editor, enter the required condition and click OK to confirm.
Example
TheInputs.epiPcCheckBox1.Value==true
Note Once you confirm the entered expression, the Syntax is Correct confirmation message displays.
To change the code expression to a not equal to condition, click equal to.
To change the code expression to a false condition, click true.
When you finish, click Save.
Where Located
The Rule Condition field is located on the Configurator Rule Entry > Part/Rev sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
294
Modifiers
If the design of the base configured part is changed in the Configurator Designer, the Epicor application
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 a 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.
If you click No, any input values that may have changed during the current configuration process are not
saved.
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.
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.
Where Located
The Save Input Values check box is located on the Configurator Entry > Record Creation > Part Creation
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
295
Modifiers
Scheduling Resource
Specifies a resource sequence required to complete the operation included in the method of manufacture to
produce the Assembly part or the Subassembly material(s).
For this field to populate, in the tree view, you must select a Resource sequence for the Assembly part or the
Subassembly material(s). Once you select the resource in the tree view, the Scheduling Resource field populates.
The Operation and Material fields also display the Operation and Material sequences, showing the user to which
operation or material the selected resource belongs.
Where Located
The Scheduling Resource field is located on the Configurator Rule Entry > Rule Sets sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
Selected Companies
Displays the selected external companies to which the Document rule applies.
To remove specific companies from the list as needed, select the companies and click the single left arrow button
to move them back to the Available Companies field. To remove all companies (if needed), click the double
left arrows button to select and move all displayed companies.
Where Located
The Selected Companies field is located in the Configurator Entry > Document Rules > Enterprise sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
296
Modifiers
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 Configurator Entry > Record Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
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
297
Modifiers
Sequence
Displays a system-assigned sequence number for each row in the column. It is a sequence of numeric values
according to the specification with which the column sequence was created.
Where Located
The Sequence field is located on the Configurator Lookup Table Maintenance > Lookup Table sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
System Setup > System Maintenance > Lookup Table
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > Setup > Configurator Lookup Table
Where Located
The Set Part Number Only check box is located on the Configurator Entry > Record Creation > Part Creation
sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
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.
298
Modifiers
Where Located
The Show Distinct check box is located on the Configurator Designer > Design > Input List sheet. A
corresponding True/False Show Distinct Items parameter is located on the Configurator Designer > Design
> Page Designer - Input Properties pane.
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
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
Letter A
Letter B
Letter C
Letter A
In this case, it only displays the following values during a configuration session:
299
Modifiers
Value
Description
Letter A
Letter B
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
Letter A
Letter B
Letter C
LetterA
LetterB
LetterC
Where Located
The Single Level Configuration check box is located on the Configurator Rule Entry > Part/Rev sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
300
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
Configurator Designer > Status sheet.
Notice how the tree structure in the 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).
Where Located
The Size parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Designer
301
Modifiers
Where Located
The Size parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
(Page Level Properties) pane.
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
Where Located
The Skip page if all inputs are disabled or invisible parameter is located on the Configurator Designer >
Design > Page Designer - Input Properties (Page Level Properties) pane.
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
302
Modifiers
Where Located
The Start Date field is located on the Configurator Designer > Design > Input 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
Where Located
The Starting Decimal field is located on the Configurator Designer > Design > Input 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
303
Modifiers
Starting Sequence
If the Part Number + Sequence Number option was selected in the Available Styles field in the Configurator
Entry > Record Creation > Part Creation sheet, 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 Entry > Record Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator 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.
Where Located
The Start Position field is located on the Configurator Entry > Record Creation > Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
304
Modifiers
Summary Label
Enter the literal text that appears next to this control on the input page during an actual configuration session
in Order Entry, Opportunity/Quote Entry, Purchase Order Entry, Job Entry or Demand Entry.
Where Located
The Summary Label field is located on the Configurator Designer > Design > Page Designer > Input List
sheet. A corresponding Summary Label parameter is located on the Configurator Designer > Design > Page
Designer - Input Properties pane.
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
Synchronize
Designates if synchronization functions should be enabled for this configurator. The receiving external companies
must have an installed Configurator license; however those companies cannot modify the configurator.
Select this check box to synchronize the selected configurator with external companies. The receiving external
companies must have the Product Configurator license installed; however those companies cannot modify the
configurator. This check box is active only if you select the Enterprise Configurator check box for the Configurator
ID you are defining.
Important 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.
Where Located
The Synchronize check box is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
305
Modifiers
Where Located
The Synchronize Revision Approval check box is located on the Configurator Entry > Record Creation >
Part Creation sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Tab Order
Specifies 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 parameter indicates the depth into which the control
displays in the Tab order. Read-only controls should not have a tab value.
306
Modifiers
Where Located
The Tab Order field is located on the Configurator Designer > Design > Input List sheet. A corresponding
Tab Order parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
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
Table Name
Specifies the target entity to which this product configuration should apply. You select the tables that are related
to the specific program (for example, Order Entry, Opportunity/Quote Entry, Job Entry, Purchase Order Entry or
Demand Entry) where you wish to configure universal base part numbers.
Once you select a table name, you use the check boxes next to this field to designate the configurator behavior
and table updates that should take place for it. Valid table name selections include:
Demand - The DemandHead table stores header information for a specific demand transaction. The Epicor
application updates this table when you manually create demand entries aror generate them from inbound
EDI transactions.
Demand Detail - The DemandDetail table stores descriptive demand detail that relates to the Demand Header
to which it is linked. There may be many DemandDetail records per each DemandHead record. The Epicor
application updates this table when you manually create demand entries aror generate them from inbound
EDI transactions.
ECORev - This table establishes the revisions of a part within an ECO Group, and is a child of the ECOGroup
table. The Epicor application updates this table when you use the Engineering Workbench.
ECO Operation - The ECOOpr table stores information about the operations required for the final assembly
of a part revision, and is a child of the ECORev table. The Epicor application updates this table when you use
the Engineering Workbench.
ECO Operation Detail - The ECOOprDtl table stores manufacturing details for the associated ECOOpr record.
The Epicor application updates this table when you use the Engineering Workbench.
ECO Material - The ECOMtl table stores ECO bill of materials information, and is a child of the ECORev table.
The Epicor application updates this table when you use the Engineering Workbench.
Job - The JobHead table stores header information for a specific manufacturing job. The Epicor application
updates this table when you use Job Entry.
Job Assembly - The JobAsmbl table stores information about the assemblies required for a specific
manufacturing job. The Epicor application updates this table when you use Job Entry.
Job Material - The JobMtl table stores information about the material content required for a specific
manufacturing job. The Epicor application updates this table when you use Job Entry.
Job Operation - The JobOpr table stores information about the operation content required for a specific
manufacturing job. The Epicor application updates this table when you use Job Entry.
307
Modifiers
Job Operation Detail - The JobOprDtl table stores manufacturing details for the operations required for a
specific manufacturing job. The Epicor application updates this table when you use Job Entry
Order - The OrderHed table stores sales order header information. The Epicor application updates this table
when you use Order Entry.
Order Detail - The OrderDtl table stores sales order line detail information. This table is a subset of the
OrderHed table. There may be many OrderDtl records per each OrderHed record. The Epicor application
updates this table when you use Order Entry.
Purchase Order - The POHeader table stores purchase order header information. The Epicor application
updates this table when you use Purchase Order Entry.
Purchase Order Detail - The PODtl table stores purchase order line detail information. This table is a subset
of the POHeader table. There may be many PODtl records per each POHeader record. The Epicor application
updates this table when you use Purchase Order Entry.
Quote - The QuoteHed table stores quote header information. The Epicor application updates this table when
you use Opportunity/Quote Entry.
Quote Assembly - The QuoteAsmbl table stores information about the assemblies required for manufacturing
a quoted item. It is a many to one subset of the QuoteDtl table. The Epicor application updates this table
when you use Opportunity/Quote Entry.
Quote Detail - The QuoteDtl table stores quote line detail information. This table is a subset of the QuoteHed
table. There may be many QuoteDtl records per each QuoteHed record. The Epicor application updates this
table when you use Opportunity/Quote Entry.
Quote Material - The QuoteMtl table stores information about the material content required for manufacturing
a quoted item. The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Operation - The QuoteOpr table stores information about the operation content required for
manufacturing a quoted item. The Epicor application updates this table when you use Opportunity/Quote
Entry.
Job Operation Detail - The JobOprDtl table stores manufacturing details for the operations required for a
specific manufacturing job. The Epicor application updates this table when you use Job Entry
Quote Operation Detail - The QuoteOprDtl table stores information about the operation detail content
required for manufacturing a quoted item. The Epicor application updates this table when you use
Opportunity/Quote Entry.
Where Located
The Table Name field is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
308
Modifiers
Template
If you select this check box for the Column Set record, the Column Set can be reused for other Lookup Table
entries, if necessary. For example, a column set for valid combinations of accessories and product groups can
also be used for a price lookup.
The Column Set records marked as Template display in the Configurator Lookup Column Set Search window.
If this check box is cleared, the Column Set is only available to this lookup table.
Where Located
The Template check box is located on the Configurator Lookup Table Maintenance > Lookup Table sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
System Setup > System Maintenance > Lookup Table
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > Setup > Configurator Lookup Table
Text
Enter the text that displays on the page for Button or Rectangle controls during the configuration session.
Where Located
The Text parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
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
309
Modifiers
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 the Data Format Editor - Numeric Format window,
accessed by clicking the button to the right of the Format parameter setting in the Configurator Designer >
Design > Page Designer - Input Properties pane when specifying the format for Decimal type input controls.
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
Tooltip
Enter the literal text that should display during a configuration session when the mouse moves over the control
being defined. For example, Enter the text for the tool tip.
Where Located
The Tooltip parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
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
310
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
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
Logic/Algorithms
For use in the Configurator, Manufactured must be selected to identify an item as a configured part.
UD Method
Enter an identifier for the user defined method you are creating, or click UD Method to search for and select
an existing user defined method.
Where Located
The UD Method field is located on the Configurator User Defined Methods Maintenance > Method sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator User Defined Methods
Entry
311
Modifiers
Where Located
The Update Saved Input Values and Set Fields in Part Table check boxes is located in the Verify Existing
Configurations program.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Verify Existing Configurations
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Verify Existing
Configurations
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.
312
Modifiers
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).
Where Located
The Use Component Pricing check box is located in the Configurator Entry > Document Rules > Pricing
Options sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
313
Modifiers
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 Price List Maintenance
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.
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 Supplier Price
List Maintenance 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 Supplier Price
List Maintenance.
314
Modifiers
Where Located
The Use Incr Value check box is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding True/False Use Increment parameter is located on the Configurator Designer >
Design > Page Designer - Input Properties pane.
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
Where Located
The Use Initial URL parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
315
Modifiers
Where Located
The Use Init Value check box is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding True/False Use Initial Value parameter is located on the Configurator Designer
> Design > Page Designer - Input Properties pane.
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
Where Located
The Use List Values check box is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding True/False Use Item List parameter is located on the Configurator Designer >
Design > Page Designer - Input Properties pane.
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
316
Modifiers
Where Located
The Use Screen Label check box is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding True/False Use Label parameter is located on the Configurator Designer > Design
> Page Designer - Input Properties pane.
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
Where Located
The Use Max Value check box is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding True/False Use Max Value parameter is located on the Configurator Designer >
Design > Page Designer - Input Properties pane.
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
317
Modifiers
Where Located
The Use Min Value check box is located on the Configurator Designer > Design > Page Designer > Input
List sheet. A corresponding True/False Use Min Value parameter is located on the Configurator Designer >
Design > Page Designer - Input Properties pane.
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
Where Located
The Use Resulting Job Method For Component Pricing check box is located on the Configurator Entry >
Document Rules > Pricing Option sheet).
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
318
Modifiers
Where Located
The Use Save Layout When Reconfiguring check box is located on the Configurator Entry > Detail sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Entry
Use Tooltip
Select True if you want to use the tooltip of the attribute. A tooltip is a literal text that should display during a
configuration session when the mouse moves over the control being defined. If False, use the tooltip of the input
control.
Where Located
The Use Tooltip check box is located on the Configurator Designer > Design > Page Designer > Input List
sheet. A corresponding True/False Use Tooltip parameter is located on the Configurator Designer > Design
> Page Designer - Input Properties pane.
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
319
Modifiers
Valid List
Specifies a list of valid (allowable) responses (entries) in a Character type control. To create the list of valid entries,
click the button on the right to access the Value List Editor window. The Value List Editor window allows you
to enter the list of allowable values for the selected input.
Where Located
The Valid List parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
pane.
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
Value Type
Specifies the value type for the Column record. Based on the option selected in this field, you define how you
want the column data to display in the Configurator Lookup Table Maintenance > Details sheet.
Example If you define a column as Decimal with two decimal places as the format, the Details sheet
reflects this when you enter the actual row/column data.
It includes the following options:
Decimal - When you select this option and click the button located in the Format field, the Number Format
window displays allowing you to specify how to use negative numbers in the column fields.
String - When you select this option and click the button located in the Format field, the Character Format
window displays allowing you to specify the number of allowable characters that can be entered into the
column fields.
Date Time - When you select this option and click the button located in the Format field, the Date Format
window displays allowing you to specify the allowable date format that can be entered into the column fields.
For example, 99/99/99 or 9999/99/99.
Logical - This value type option is always True or False and does not use the Format window.
Where Located
The Value Type field is located on the Configurator Lookup Table Maintenance > Lookup Table sheet.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > Setup > Configurator Lookup Table
320
Modifiers
Variable Definitions
Specifies variable definition used to store temporal values. It includes the following options:
Define Variable as DataType with Specified constant as initial value
Define Variable as DataType using an Expression to assign the initial value
Define Variable as DataType using calling Specified user defined function to assign the initial value
Note Definitions are further defined by selecting the link element located in each definition.
Example If you select the 'Define Variable as DataType with Specified constant as initial value' definition,
you can specify a variable name, data type, as well as define its constant value by clicking on the links
located in the selected definition.
Each Variable definition contains the following links:
Variable - Select the Variable link to launch the Value From String Constant Editor window to define a
variable name.
Data Type - Select the Data Type link to launch the VarDataTypeEditorForm window to define a data
type. The Data Type field includes the following options:
String
Numeric
Date
Logical
Specified - Select the Specified link to launch the Constant Value Editor window to define a value.
Depending on the option selected in the Data Type field, the following Constant Value Editors display:
Data Type
String
Numeric
Date
Logical
321
Modifiers
Where Located
The Variables Definition field is located on the Method Variables selection on the Actions menu in
Configurator Rule Entry.
Menu Path
Navigate to this program from the Main Menu:
Sales Management > Configurator Management > General Operations > Configurator Rule Entry
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Configurator Rule
Entry
VarName
Specifies the name of the global input variable as it should appear when displayed as a selectable option in the
Global Input Variable Name parameter setting in the Configurator Designer > Design > Page Designer >
Input Properties pane.
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 VarName field is located on the Global Input Variables selection on 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
322
Modifiers
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 > Verify Existing Configurations
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Verify Existing
Configurations
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.
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
323
Modifiers
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.
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 > Verify Existing Configurations
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Verify Existing
Configurations
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.
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
324
Modifiers
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.
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 > Verify Existing Configurations
For CRM users, the Main Menu appears as:
Customer Relationship Management > Configurator Management > General Operations > Verify Existing
Configurations
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
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.
325
Modifiers
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).
Where Located
The Web Input Name field is located in the Configurator Designer > Design > Page Designer > Input 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
Width / P Width
Specifies the width of the input control. It allows you to specify, in pixels, the width of the input control.
Where Located
The P Width field is located on the Configurator Designer > Design > Page Designer > Input List sheet. A
corresponding Width parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
326
Modifiers
Where Located
The Width parameter is located on the Configurator Designer > Design > Page Designer - Input Properties
(Page Level Properties) pane.
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
X Position
Specifies the X-position of the input control on the page.
Where Located
The X Position field is located on the Configurator Designer > Design > Page Designer > Input List sheet.
A corresponding X parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
327
Modifiers
Y Position
Specifies the X-position of the input control on the page.
Where Located
The Y Position field is located on the Configurator Designer > Design > Page Designer > Input List sheet.
A corresponding Y parameter is located on the Configurator Designer > Design > Page Designer - Input
Properties pane.
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
328
Context Functions
Context Functions
This section details context functions that have been developed by Epicor for use when defining Product and
Inspection Plan type configurators. 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 On Load, On Loaded, On Complete, On Save, Dynamic List and
Rules processing. These functions are valuable if you wish to return values for quotes, orders, jobs, purchase
orders or demand orders and populate certain input values when used in a 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 Certain context functions can only be used when defining Inspection Plan type configurators that
can be linked to inspection plans in the Enhanced Quality Management (EQM) module. They cannot be
used when defining Product configurators.
Many of these context functions can be used both as Rule expressions and as On Load, On Loaded, On Complete
or On Save expressions in the Configurator, but they auto-populate with different strings depending on where
they are added. For example, the Job Number function can be added in any of these places. The name of the
context function is the same regardless of where you use it. However, the method in which this function displays
is dependent on where it is entered.
For example, the Epicor application executes On Load expressions when you enter values into a Configurator
Input Screen you have designed using the Configurator Designer, 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 Context.JobNumber() when added to an On Load expression, but displays as
Context.JobNumber(other content) when added to a Rule expression.
Company ID
The Company ID context function returns a string value of the current company identifier.
Where Located
The Company ID context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is available for Inspection Plan and Product Configurator types.
Proper Syntax
Context.CompanyID
329
Context Functions
Example
Character inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the Company ID context function:
If (Context.CompanyID == "YourCompany")
{
Inputs.epiPcTextBox2.Value = "abc";
}
When leaving the epiPcTextBox1 input, the expression above would be processed. If the value returned from the
Context.CompanyID() function is equal to "YourCompany", the value of "ABC" would be populated in the
epiPcTextBox2 input.
Configurator ID
The Configurator ID context function returns a numeric value of the configurator identifier from the current
entity being configured.
Where Located
The Configurator ID context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function is available for Inspection Plan and Product Configurator types.
Proper Syntax
Context.ConfiguratorID
Example
String inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the ConfiguratorID context function:
Inputs.epiPcTextBox2.Value = Context.ConfiguratorID;
When leaving the epiPcTextBox1 input, the expression above would be processed and the current configurator
ID would be assigned to the epiPcTextBox2 input.
330
Context Functions
Customer ID
The Customer ID context function returns a numeric value of the customer number from the current entity being
configured.
Where Located
The Customer ID context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This only returns a value if the entity being configured has a customer identifier (for example, a sales
order or quote). This function is only available for Product Configurator types.
Proper Syntax
Context.CustomerID
Example
Character inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the Customer ID context function:
Inputs.epiPcNumericEditor2.Value = Context.CustomerID;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the customer ID
from the current entity would be assigned to the epiPcNumericEditor2 input.
This rule function is also useful to retrieve information from the customer record of the associated entity. The
following expression is added to epi PcTextBox1:
Erp.Tables.Customer;
Customer= (from row in Db.Customer where Customer.Company == "YourCompany" && Customer.CustID ==
Context.CustomerID select row).FirstOrDefault();
if (Customer!= null)
{
Inputs.epi PcTextBox1 .Value = Customer. TermsCode ;
}
When leaving the epiPcTextBox1 input, the expression above would be processed and the terms code from the
customer record would be assigned to the epiPcTextBox1 input.
331
Context Functions
Where Located
The Demand Header Number context function can be used in On Load, On Loaded, On Complete, On Save or
Rules processing expressions. This function is only available for Product Configurator types.
Proper Syntax
Context.DemandHeaderNumber
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the Order Line context function:
Inputs.epiPcNumericEditor2.Value = Context.DemandHeaderNumber;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current demand
header number would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve
information from one of the current demand header records. The following expression is added to
epiPcNumericEditor1:
Erp.Tables.DemandHead;
DemandHead= (from row in Db.DemandHead where DemandHead.Company == "YourCompany" &&
DemandHead.ContractNumHeadSeq == Context.DemandHeaderNumber select row).FirstOrDefault();
if (DemandHead!= null)
{
Inputs.epiPcNumericEditor2.Value = DemandHead.CustNum;
}
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the customer number
from the current DemandHead record would be assigned to the epiPcNumericEditor2 input.
332
Context Functions
Where Located
The Demand Line Number context function can used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function is only available for Production Configurator types.
Proper Syntax
Context.DemandLineNumber
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the DemandLineNumber context function:
Inputs.epiPcNumericEditor2.Value = Context.DemandLineNumber;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current demand
detail line number would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve
information from one of the current demand detail records. The following expression is added to
epiPcNumericEditor1:
Erp.Tables.DemandDetail;
DemandDetail= (from row in Db.DemandDetail where DemandDetail.Company == "YourCompany" &&
DemandDetail.ContractNumHeadSeq == Context.DemandHeaderNumber && DemandDetail.ContractNumDtlSeq
== Context.DemandLineNumber select row).FirstOrDefault();
if (DemandDetail!= null)
{
Inputs.epiPcNumericEditor2.Value = DemandDetail.OrderLine;
}
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the order line number
from the current DemandDetail record would be assigned to the epiPcNumericEditor2 input.
333
Context Functions
Entity
Use the Entity context function to designate the specific target entity you are configuring.
For Product type Configurators, entity values include:
Demand - The DemandHead table stores header information for a specific demand transaction.
The Epicor application updates this table when you manually create demand entries or generate them from
inbound EDI transactions.
Demand Detail - The DemandDetail table stores descriptive demand detail that relates to the Demand Header
to which it is linked. There may be many DemandDetail records per each DemandHead record.
The Epicor application updates this table when you manually create demand entries or generate them from
inbound EDI transactions.
ECORev - Establishes the revisions of a part within an ECO Group, and is a child of the ECOGroup table.
The Epicor application updates this table when you use the Engineering Workbench.
ECO Operation - The ECOOpr table stores information about the operations required for the final assembly
of a part revision, and is a child of the ECORev table.
The Epicor application updates this table when you use the Engineering Workbench.
ECO Operation Detail - The ECOOprDtl table stores manufacturing details for the associated ECOOpr record.
The Epicor application updates this table when you use the Engineering Workbench.
ECO Material - The ECOMtl table stores ECO bill of materials information, and is a child of the ECORev table.
The Epicor application updates this table when you use the Engineering Workbench.
Job - The JobHead table stores header information for a specific manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Assembly - The JobAsmbl table stores information about the assemblies required for a specific
manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Material - The JobMtl table stores information about the material content required for a specific
manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Operation - The JobOpr table stores information about the operation content required for a specific
manufacturing job.
The Epicor application updates this table when you use Job Entry.
Job Operation Detail - The JobOprDtl table stores manufacturing details for the operations required for a
specific manufacturing job.
The Epicor application updates this table when you use Job Entry.
Order - The OrderHed table stores sales order header information.
The Epicor application updates this table when you use Order Entry.
Order Detail - The OrderDtl table stores sales order line detail information. This table is a subset of the
OrderHed table. There may be many OrderDtl records per each OrderHed record.
The Epicor application updates this table when you use Order Entry.
334
Context Functions
Purchase Order - The POHeader table stores purchase order header information.
The Epicor application updates this table when you use Purchase Order Entry.
Purchase Order Detail - The PODtl table stores purchase order line detail information. This table is a subset
of the POHeader table. There may be many PODtl records per each POHeader record.
The Epicor application updates this table when you use Order Entry.
Quote - The QuoteHed table stores quote header information.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Assembly - The QuoteAsmbl table stores information about the assemblies required for manufacturing
a quoted item. It is a many to one subset of the QuoteDtl table.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Detail - The QuoteDtl table stores quote line detail information. This table is a subset of the QuoteHed
table. There may be many QuoteDtl records per each QuoteHed record.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Material - The QuoteMtl table stores information about the material content required for manufacturing
a quoted item.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Operation - The QuoteOpr table stores information about the operation content required for
manufacturing a quoted item.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Quote Operation Detail - The QuoteOprDtl table stores information about the operation detail content
required for manufacturing a quoted item.
The Epicor application updates this table when you use Opportunity/Quote Entry.
Note For an Inspection Plan type configurator, the entity list is a smaller subset of this list, containing only
those that apply to inspection plan processing.
Where Located
The Entity context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is available for Inspection Plan and Product Configurator types.
Proper Syntax
Context.Entity
Example
Character inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the Entity context function:
335
Context Functions
If (Context.Entity == "JobHead")
{
Inputs.epiPcTextBox2.Value = "abc";
}
When leaving the epiPcTextBox1 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 epiPcTextBox2 input.
Job Number
If you are configuring the part in Job Entry, the Job Number context function returns a string value of the current
job number.
Where Located
The Job Number function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is available for Inspection Plan and Product Configurator types.
Proper Syntax
Context.JobNumber
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the Job Number context function:
Inputs.epiPcNumericEditor2.Value = Context.JobNumber;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current job
number would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve information
from one of the current job records. The following expression is added to epiPcNumericEditor1:
Erp.Tables.JobHead JobHead;
JobHead = (from row in Db.JobHead where JobHead.Company == "YourCompany" && JobHead.JobNum ==
Context.JobNumber select row).FirstOrDefault();
if (JobHead != null)
{
Inputs.epiPcNumericEditor2.Value = JobHead.Description;
}
When leaving the epiPcNumericEditor1 input, the expression above would be processed, and the Part Description
from the current JobHead record would be assigned to the epiPcNumericEditor2 input.
336
Context Functions
Note This example assumes use of a numeric-only job number; job numbers can also contain letters as
well, so Character inputs could also be used when adding an epiPcTextBox input.
Order Line
If you are configuring the part in Order Entry, the Order Line context function returns a numeric value of the
current order line number.
Where Located
The Order Line context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is only available for Product Configurator types.
Proper Syntax
Context.OrderLineNumber
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the Order Line context function:
Inputs.epiPcNumericEditor2.Value = Context.OrderLineNumber;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current order
line would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve information
from one of the current order line record. The following expression is added to epiPcNumericEditor1:
Erp.Tables.OrderDtl OrderDtl;
OrderDtl = (from row in Db.OrderDtl where OrderDtl.Company == "YourCompany" && OrderDtl.OrderNum ==
Context.OrderNumber && OrderDtl.OrderLine == Context.OrderLineNumber select row).FirstOrDefault();
if (OrderDtl != null)
{
Inputs.epiPcNumericEditor2.Value = OrderDtl.LineDesc;
}
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the order line
description from the current OrderDtl record would be assigned to the epiPcNumericEditor2 input.
337
Context Functions
Order Number
If you are configuring the part in Order Entry, the Order Number context function returns a numeric value of
the current order header number.
Where Located
The Order Number context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function is only available for Product Configurator types.
Proper Syntax
Context.OrderNumber
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the Order Number context function:
Inputs.epiPcNumericEditor2.Value = Context.OrderNumber;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current order
number would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve information
from one of the current order records. The following expression is added to epiPcNumericEditor1:
Erp.Tables.OrderHed;
OrderHed = (from row in Db.OrderHed where OrderHed.Company == "YourCompany" && OrderHed.OrderNum
== Context.OrderNumber select row).FirstOrDefault();
if (OrderHed != null)
{
Inputs.epiPcNumericEditor2.Value = OrderHed.CustNum;
}
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the customer number
from the current OrderHed record would be assigned to the epiPcNumericEditor2 input.
338
Context Functions
Part Number
The Part Number returns a string value of the current part number from the current entity being configured.
Where Located
The Part Number context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is only available for Product Configurator types.
Proper Syntax
Context.PartNumber
Example
String inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the PartNumber context function:
Inputs.epiPcTextBox2.Value = Context.PartNumber;
When leaving the epiPcTextBox1 input, the expression above would be processed and the current part number
from the current entity would be assigned to the epiPcTextBox2 input.
Where Located
The Purchase Order Number context function can be used in On Load, On Loaded, On Complete, On Save or
Rules processing expressions. This function is available for Inspection Plan and Product Configurator types.
Proper Syntax
Context.PONumber
339
Context Functions
Example
Decimal inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the PONumber context function:
Inputs.epiPcTextBox2.Value = Context.PONumber;
When leaving the epiPcTextBox1 input, the expression above would be processed and the current order number
would be assigned to the epiPcTextBox2 input. This rule function is also useful to retrieve information from one
of the current purchase order records. The following expression is added to epiPcTextBox1:
Erp.Tables.POHeader;
POHeader = (from row in Db.POHeader where POHeader.Company == "YourCompany" && POHeader.PONum
== Context.PONumber select row).FirstOrDefault();
if (POHeader != null)
{
Inputs.epiPcTextBox2.Value = POHeader.VendorID;
}
When leaving the epiPcTextBox1 input, the expression above would be processed and the customer number
from the current POHeader record would be assigned to the epiPcTextBox2 input.
Where Located
The Purchase Order Line Number context function can be used in On Load, On Loaded, On Complete, On Save
or Rules processing expressions. This function is available for Inspection Plan and Product Configurator types.
Proper Syntax
Context.POLine
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the PONumber context function:
Inputs.epiPcNumericEditor2.Value = Context.POLine;
340
Context Functions
Inputs.epiPcNumericEditor2.Value = Context.POLine;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current purchase
order line number would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve
information from one of the current purchase order detail records. The following expression is added to
epiPcNumericEditor1:
Erp.Tables.PODetail;
PODetail = (from row in Db.PODetail where PODetail.Company == "YourCompany" && PODetail.PONum
== Context.PONumber && PODetail.POLine == Context.POLine select row).FirstOrDefault();
if (PODetail != null)
{
Inputs.epiPcNumericEditor2.Value = PODetail.DocUnitCost;
}
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the document
currency unit cost from the current PODetail record would be assigned to the epiPcNumericEditor2 input.
Quote Line
If you are configuring the part in Opportunity/Quote Entry, the Quote Line context function returns a numeric
value of the current quote line number.
Where Located
The Quote Line context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is only available for Product Configurator types.
Proper Syntax
Context.QuoteLineNumber
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the Quote Line context function:
Inputs.epiPcNumericEditor2.Value = Context.QuoteLineNumber;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current quote
line would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve information
from one of the current quote line record. The following expression is added to epiPcNumericEditor1:
Erp.Tables.QuoteDtl;
341
Context Functions
Quote Number
If you are configuring the part in Opportunity/Quote Entry, the Quote Number context function returns a numeric
value of the current quote header number.
Where Located
The Quote Number context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function is only available for Product Configurator types.
Proper Syntax
Context.QuoteNumber
Example
Decimal inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the Quote Number context function:
Inputs.epiPcNumericEditor2.Value = Context.QuoteNumber;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the current quote
number would be assigned to the epiPcNumericEditor2 input. This rule function is also useful to retrieve information
from one of the current quote records. The following expression is added to epiPcNumericEditor1:
Erp.Tables.QuoteHed;
QuoteHed = (from row in Db.QuoteHed where QuoteHed.Company == "YourCompany" && QuoteHed.QuoteNum
== Context.QuoteNumber select row).FirstOrDefault();
if (QuoteHed != null)
{
Inputs.epiPcNumericEditor2.Value = QuoteHed.CustNum;
}
342
Context Functions
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the customer number
from the current QuoteHed record would be assigned to the epiPcNumericEditor2 input.
Site
The Site context function returns a string value of the current site identifier.
Where Located
The Site context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is available for Generic Configurator and Product Configurator types.
Proper Syntax
The Site function auto-populates the following string into the On Load, On Loaded, On Complete, On Save,
Dynamic List or Rules processing expression:
Context.SiteID
Example
Character inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Load expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2 using
the Site context function:
If (Context.SiteID == "YourCurrentSite")
{
Inputs.epiPcTextBox2 = "abc";
}
When leaving the epiPcTextBox1 input, the expression above would be processed. If the value returned from the
Context.SiteID() function is equal to "YourCurrentsite", the value of "ABC" would be populated in the
epiPcTextBox2 input.
343
Context Functions
Supplier ID
The Supply ID returns a string value of the current supplier identifier from the current entity being configured.
Where Located
The Supplier ID context function can be added as an On Load, On Loaded, On Complete, On Save or Rules
processing expression. This only returns a value if the entity being configured has a supplier ID (for example, a
purchase order). This function is only available for Product Configurator types.
Proper Syntax
Context.SupplierID
Example
String inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the SupplierID context function:
Inputs.epiPcTextBox2.Value = Context.SupplierID;
When leaving the epiPcTextBox1 input, the expression above would be processed and the supplier ID from the
current entity would be assigned to the epiPcTextBox2 input. This rule function is also useful to retrieve information
from the supplier record of the associated entity. The following expression is added to epiPcTextBox1:
Erp.Tables.Supplier;
Supplier= (from row in Db.Supplier where Supplier.Company == "YourCompany" && Supplier.VendNum ==
Context.SupplierID select row).FirstOrDefault();
if (Supplier!= null)
{
Inputs.epiPcTextBox3.Value = Supplier.VendorID;
}
When leaving the epiPcTextBox1 input, the expression above would be processed and the supplier ID from the
supplier record would be assigned to the epiPcTextBox3 input.
344
Context Functions
User ID
The User ID context function returns a string value of the current user ID.
Where Located
The User ID context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function is available for Inspection Plan Configurator and Product Configurator types.
Proper Syntax
The Current User ID function auto-populates the following string into the Rules expression string:
Context.UserID
Example(s)
Character inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Load expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2 using
the User ID context function:
If (Context.SiteID == "ABC")
{
Inputs.epiPcTextBox2 = "abc";
}
When leaving the epiPcTextBox1 input, the expression above would be processed. If the value returned from the
Context.UserID() function is equal to "SpecificUserID", the value of "ABC" would be populated in the
epiPcTextBox2 input.
345
Context Functions
Assembly Sequence
The Assembly Sequence context function returns a numeric value of the assembly sequence being inspected
in Quality Assurance.
Where Located
The Assembly Sequence context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function can only be used when defining Inspection Plan Configurator types, and
cannot be used when defining Product Configurator types.
Proper Syntax
Context.AssemblySeq
Example
Numeric inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the PackLine context function:
Inputs.epiPcNumericEditor2.Value = Context.AssemblySeq;
346
Context Functions
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the assembly sequence
from the receipt being inspected would be assigned to the epiPcNumericEditor2 input.
Attribute ID
The Attribute ID context function returns a string value of the inspection attribute identifier. You use Inspection
attributes to define any elements that need to be inspected during the quality assurance process (for example,
width, height, thickness). The attributes are then assigned to specifications and used in Quality Assurance inspection
plans.
Where Located
The Inspection Attribute ID context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function can only be used when defining Inspection Plan Configurator types, and
cannot be used when defining Product Configurator types.
Proper Syntax
Context.AttributeID
Example
String inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the AttributeID context function:
Inputs.epiPcTextBox2.Value = Context.AttributeID;
When leaving the epiPcTextBox1 input, the expression above would be processed and the attribute ID associated
with the current input will be assigned to the epiPcTextBox2 input.
347
Context Functions
Non Conformance ID
The Non Conformance ID context function returns a string value of the Non-Conforming Material (NCM)
identifier for non-conforming material being inspected in Quality Assurance.
Where Located
The Non Conformance ID context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function can only be used when defining Inspection Plan Configurator types, and
cannot be used when defining Product Configurator types.
Proper Syntax
Context.NonConfID
Example
Numeric inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
Numeric inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the NonConfID context function:
Inputs.epiPcNumericEditor2.Value = Context.NonConfID;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the non conformance
ID from the record being inspected would be assigned to the epiPcNumericEditor2 input.
Operation Sequence
The Operation Sequence context function returns a string value of the operation sequence for job material
being inspected in Quality Assurance.
Where Located
The Operation Sequence context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function can only be used when defining Inspection Plan Configurator types, and
cannot be used when defining Product Configurator types.
Proper Syntax
Context.OprSeq
348
Context Functions
Example
Numeric inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the OprSeq context function:
Inputs.epiPcNumericEditor2.Value = Context.OprSeq;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the operation
sequence from the receipt being inspected would be assigned to the epiPcNumericEditor2 input.
Pack Line
The Pack Line context function returns a numeric value of the packing slip line number for incoming purchase
receipt materials being inspected in Quality Assurance.
Where Located
The Pack Line context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function can only be used when defining Inspection Plan Configurator types, and cannot be
used when defining Product Configurator types.
Proper Syntax
Context.PackLine
Example
Numeric inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the PackLine context function:
Inputs.epiPcNumericEditor2.Value = Context.PackLine;
When leaving the epiPcNumericEditor1 input, the expression above would be processed, and the packing slip
line from the receipt being inspected would be assigned to the epiPcNumericEditor2 input.
349
Context Functions
Pack Slip
The Pack Slip context function returns a string value of the packing slip number for incoming purchase receipt
materials for which inspection data is being collected in Quality Assurance.
Where Located
The Pack Slip context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function can only be used when defining Inspection Plan Configurator types, and cannot be
used when defining Product Configurator types.
Proper Syntax
Context.PackSlip
Example
String inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the PackSlip context function:
Inputs.epiPcTextBox2.Value = Context.PackSlip;
When leaving the epiPcTextBox1 input, the expression above would be processed and the current receipt would
be assigned to the epiPcTextBox2 input.
RMA Line
The RMA Line context function returns a numeric value of the RMA line number for returned material being
inspected in Quality Assurance.
Where Located
The RMA Line context function can be used in On Load, On Loaded, On Complete, On Save or Rules processing
expressions. This function can only be used when defining Inspection Plan Configurator types, and cannot be
used when defining Product Configurator or Generic Configurator types.
Proper Syntax
Context.RMALine
350
Context Functions
Example
Numeric inputs epiPcNumericEditor1 and epiPcNumericEditor2 have been added to a configurator input page.
The following On Changed expression is added to epiPcNumericEditor1, updating the input value of
epiPcNumericEditor2 using the RMALine context function:
Inputs.epiPcNumericEditor2.Value = Context.RMALine;
When leaving the epiPcNumericEditor1 input, the expression above would be processed and the RMA line from
the record being inspected would be assigned to the epiPcNumericEditor2 input.
Specification ID
The Specification ID context function returns a string value of the specification identifier. A specification controls
individual inspection elements that need to be verified against the specification.
Where Located
The Specification ID context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function can only be used when defining Inspection Plan Configurator types, and
cannot be used when defining Product Configurator types.
Proper Syntax
Context.SpecificationID
Example
String inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Leave expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2 using
the SpecificationID context function:
Inputs.epiPcTextBox2.Value = Context.SpecificationID;
When leaving the epiPcTextBox1 input, the expression above would be processed and the specification id of the
current inspection plan will be assigned to the epiPcTextBox2 input.
351
Context Functions
Specification Revision
The Specification Revision context function returns a string value of the specification revision number assigned
to a specific revision identifier. A specification controls individual inspection elements that need to be verified
against the specification.
Where Located
The Specification Revision context function can be used in On Load, On Loaded, On Complete, On Save or Rules
processing expressions. This function can only be used when defining Inspection Plan Configurator types, and
cannot be used when defining Product Configurator types.
Proper Syntax
Context.SpecificationRevision
Example
String inputs epiPcTextBox1 and epiPcTextBox2 have been added to a configurator input page.
The following On Changed expression is added to epiPcTextBox1, updating the input value of epiPcTextBox2
using the SpecificationRevision context function:
Inputs.epiPcTextBox2.Value = Context.SpecificationRevision;
When leaving the epiPcTextBox1 input, the expression above would be processed and the specification revision
of the current inspection plan will be assigned to the epiPcTextBox2 input.
352
Lookup Functions
Lookup Functions
This section details the lookup functions that have been developed by Epicor for use when defining a Product
configuration. You use lookup functions to access data in user defined lookup tables; you use these functions in
place of accessing external documents such as spreadsheets.
PCLookUp.DataLookup
The PCLookUp.DataLookup function returns a single value. This is the intersection of the specified row and
column.
Proper Syntax
PCLookUp.DataLookup (string lookupTable, string columnName, string rowName)
PCLookUp.DataRowList
The PCLookUp.DataRowList function returns a list of values of all columns in the specified row.
Proper Syntax
PCLookUp.DataRowList (string lookupTable, string rowName)
PCLookUp.DataRowListNum
The PCLookUp.DataRowListNum function returns the count of columns in the specified row.
Proper Syntax
PCLookUp.DataRowListNum (string lookupTable, string rowName)
PCLookUp.DataRowRangeList
The PCLookUp.DataRowRangeList function returns a list of values of a range of columns in the specified row.
Proper Syntax
PCLookUp.DataRowRangeList (string lookupTable, string rowName, string startCol, string endCol)
353
Lookup Functions
PCLookUp.DataRowLookupList
The PCLookUp.DataRowLookupList function returns the list of Column Names for the specified row that match
the searchValue.
Proper Syntax
PCLookUp.DataRowLookupList (string lookupTable, string rowName, string searchValue)
PCLookUp.DataColumnList
The PCLookUp.DataColumnList function returns a list of values in all rows in the specified column.
Proper Syntax
PCLookUp.DataColumnListNum (string lookupTable, string colName)
PCLookUp.DataColumnListNum
The PCLookUp.DataColumnListNum function returns a count of the number of rows in the specified column.
Proper Syntax
PCLookUp.DataColumnListNum (string lookupTable, string colName)
PCLookUp.DataColumnRangeList
The PCLookUp.DataColumnRangeList function returns a list of values of a range of rows in the specified
column.
Proper Syntax
PCLookUp. DataColumnRangeList (string lookupTable, string colName, string startRow, string endRow)
354
Specific pontoon boat models are designed and intended 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 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 (Fish Finders and Sound System)
Prior to implementing their new Epicor application, 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 developed a highly sophisticated Configurator in their new Epicor application. 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
Creating accurate Methods of Manufacture (which specify the exact material content and manufacturing
sequences) when creating jobs for manufacture of the pontoon boats
Parsing configured character strings on inbound EDI transactions into demand order data
355
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.
Since the options for each product were quite similar, and the methods of manufacturing of all products were
the same, Wavy Rider Product decided 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.
356
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 determine the valid answers for each of the questions. These include:
For what type of activity the pontoon model is used?
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?
357
358
359
360
361
362
Component Parts
Wavy Rider Products decided to use this type of method of manufacture definition for their products, so they
created the following "placeholder" purchased, non-stock component part records in Part Maintenance.
363
364
Operations
Wavy Rider Products created the following operation records in Operation Maintenance:
Assembly Work Force
Asm Red Cell
Line One
365
366
367
Color Selection
The configuration input page includes a Color combo box that prompts for selection of paint color for the
specified model. This is the spreadsheet Wavy Rider Products created to indicate which color selections are valid
for each pontoon boat model:
368
Based on the selected motor model, the configuration input page displays the associated price, which the data
entry person can override as necessary. This is the spreadsheet Wavy Rider Products created to indicate the price
and part number associated with the selected motor model.
These are the naming conventions and design parameters Wavy Rider used for their configurator input controls:
369
370
Activity Combo Box Control - Dynamic List (Run BAQ Data Source)
Currently, Wavy Rider is manufacturing pontoon boats for three types of activities - Fishing, Family/Leisure, or
Water Sports. These three options can be placed in a fixed predefined options list (defined in the List Items
attribute), but Wavy Rider is expecting to enter other markets in the future. Therefore, it makes more sense to
retrieve the information from a lookup table, in this case using a BAQ query.
371
To create a dynamic list for this control, the Dynamic Lists Editor was invoked by clicking the button to the right
of the Dynamic List control. Using a BAQ query (WRActivity), this information can be retrieved from the lookup
table (see below).
372
373
374
1.
The BAQ framework adds the Company filter to this query during execution.
2.
3.
The distinct option was used in the query phrase to prevent listing the same activities multiple times;
this is a subquery option.
375
376
Model Combo Box Control - Dynamic List (Data Column Lookup Method)
The Wavy Rider configuration input page includes a Model combo box that prompts for selection of pontoon
boat model. Based on the selection made in the Activity control during a configuration selection, the list of
available pontoon boats varies. The Model combo box control makes use of the same WRModels lookup table
utilized in the Activity drop-down control, but does so in different manner, using the Data Column Lookup
List method.
Depending on the selection made in the Activity control, the Epicor application populates the dynamic list for
the Model control with the allowable pontoon boat model selections.
Example If the user selects Fishing in the Activity drop-down control during a configuration session,
the following models display as selection options in the Model control:
18 Peregrine
20 Wavy Rider
20 Wavy Rider Pro
22 Peregrine
22 Wavy Rider
22 Wavy Rider Pro
24 Wavy Rider
24 Wavy Rider Pro
If the user selects Family/Leisure in the Activity control, the following models display as selection options:
16 NottaYacht
18 Peregrine
18 Bay Dweller
20 Bay Dweller
377
20 Wavy Rider
20 Peregrine
22 Deck Buster
22 Bay Dweller
22 Wavy Rider
24 Deck Buster
24 Bay Dweller
24 Wavy Rider
26 Deck Buster
To create a dynamic list for this control, the Dynamic Lists Editor was invoked by clicking the button to the right
of the Dynamic List control. Select Data Lookup Method in the Data Source field, and Data Column Lookup
List in the Data Lookup field, model information can be retrieved from the WRModels lookup table.
This method has two parameters - colname and searchvalue.
The cmbActivity input field contains the selected activity (currently Fishing, Family/Leisure or Watersports),
and the searchvalue is x.
Based on these parameters, the data column lookup list method returns a list of suitable pontoon boats.
378
The Refresh.DynamicList() function refreshes the dynamic lists of the combo-boxes listed as parameters.
If no specific combo boxes are listed, all dynamic lists on the page are automatically refreshed.
379
380
Color Combo Box Control - Dynamic List (Data Row Lookup Method)
The Wavy Rider configuration input page includes a Color combo box that prompts for selection of paint color
for the specified pontoon boat model. Based on the selection made in the Model control during a configuration
selection, the list of available paint colors varies.
Configurator Designer and Dynamic Lists Editor
These are the input parameters specified in the Configurator Designer > Design > Page Designer - Input Properties
pane for the Color combo box (cmbColor):
To create a dynamic list for this control, the Dynamic Lists Editor was invoked by clicking the button to the right
of the Dynamic List control. Select Data Lookup Method in the Data Source field, and Data Row Lookup
List in the Data Lookup field, paint color information can be retrieved from the WRColorOptions lookup table.
This method has two parameters - rowname and searchvalue.
The rowname is the value of the cmbModel input field (the selected pontoon boat model), and the
searchvalue is x.
Based on these parameters, the data row lookup list method returns a list of suitable paint colors.
Note When using this dynamic list data source method, the Epicor application retrieves column values
based on their defined order in the lookup table (colseq). When you define such a lookup table, do not
add any unwanted or unused columns (that is, one with no row values) within the specified data row
lookup list range.
381
382
Depending on the pontoon boat selection you make in the Model control, the Epicor application populates the
dynamic list for the Color control with the allowable paint color selections.
Example If you select 16 NottaYacht in the Model control during a configuration session, the following
paint colors display as selection options in the Color control:
Plywood Shell
Onion
Tamarack
If the user selects 22 Deck Buster in the Model control, all paint colors display except for Tamarack.
383
To create a dynamic list for this control, invoke the Dynamic List Editor by clicking the button to the right of the
Dynamic List control. Select Data Lookup Method in the Data Source field, and Data Row Lookup List in
the Data Lookup field to retrieve paint color information from the WRColorOptions lookup table.
This method has two parameters - rowname and searchvalue.
The rowname is the value of the cmbModel input field (the selected pontoon boat model), and the
searchvalue is x.
Based on these parameters, the data row lookup list method returns a list of suitable paint colors.
Note When you use this dynamic list data source method, the Epicor application retrieves column values
based on their defined order in the lookup table (colseq). When you define such a lookup table, do not
add any unwanted or unused columns (that is, one with no row values) within the specified data row
lookup list range.
384
385
Motor Combo Box Control - Dynamic List (Data Row Range List Method)
The Wavy Rider configuration input page includes a Motor combo box that prompts for selection of type of
motor for the specified pontoon boat model. Based on the selection made in the Model control during a
configuration selection, the list of available motors varies. The selection of a motor, like paint color, depends on
the selected pontoon boat model. The specific available selections vary quite a bit between the boat models;
each model has at least one, and can have up to three possible motor selections.
386
Depending on the pontoon boat selection made in the Model control, the Epicor application populates the
dynamic list for the Color control with the allowable paint color selections.
Example If the user selects 16 NottaYacht in the Model control during a configuration session, only the
40 HP OB motor displays in the Motor control. If the user selects 22 Bay Dweller, the following types of
motors display in the Motor control:
100 HP OB
115 HP OB
175 HP OB
To create a dynamic list for this control, the Dynamic Lists Editor was invoked by clicking the button to the right
of the Dynamic List control. Select Data Lookup Method in the Data Source field, and Data Row Range
List in the Data Lookup field, motor information can be retrieved from the WRMotorOptions lookup table.
This method has two parameters - rowname, startcolumn, and startcolumn.
The rowname is the value of the cmbModel input field (the selected pontoon boat model), the startcolumn
contains Motor1 and the endcolumn contains Motor3
Based on these parameters, the data row lookup list method returns a list of one to three allowable motor
type selections.
387
388
389
Depending on the pontoon boat motor selection you make in the Model control, the Epicor application uses
the query defined in the UD method to retrieve the associated part number and price:
The method has two parameters - string Lookuptable and string SelectedMotor. For example, if you select
16 NottaYacht in the Model control during a configuration session, only the 40 HP OB motor displays in
the Motor control.
The string Lookuptable is the name of the lookup table, and string SelectedMotor is the value of the
cmbModel input field (the selected pontoon boat model).
Example If you select the 40 HP OB motor in the Motor control, the UD method returns a price of
400.00, and HDA400 as the part number. However, if you select the 3000 HP OB motor, a price of
1600.00 and a part number of YMH300 are the returned values.
390
Configurator Designer
These are the input parameters specified in the Configurator Designer > Design > Page Designer - Input Properties
pane for the unlabeled motor price control (decMotorPrice):
To automatically recalculate the price displayed in the unlabeled motor price field (decMotorPrice) each time
you select a new motor option in the Motor control, Wavy Rider Products added the following code syntax to
an On Field Changed event for the Motor control (cmbMotor). It calls the user defined method
GetMotorPrice(string LookupTable, string SelectedMotor) defined in Configurator User Defined Methods
Maintenance.
391
392
Fish Finder (Standard and GPS) and Sound System Check Box Controls
For some Wavy Rider pontoon boat models, customers can add a standard Fish Finder, an upgraded GPS enabled
Fish Finder and a sound system. Wavy Rider Products decided to create three check boxes, Fish Finder (Standard),
GPS Fish Finder, and Sound System for these option selections.
393
394
395
Configurator Entry
For Wavy Rider Products, the pricing for the quote and order lines generated as the result of a configuration
session is based on what is stored in the Total Price (decTotalPrice) input field. They created a Document rule
in the Configurator Entry > Document Rules > Detail sheet for pricing by using following parameters:
Rule Description - Pricing Rules
Rule Condition - Always Execute
Document Rule Action - Set Specified configurator pricing to Specified expression value
When they clicked Specified, they selected Order in the Configuration Pricing Entity dialog box; this selects the
Pricing.OrderPrice option in the Code Editor. They entered the following code expression:
//decTotalPrice
return Inputs.decTotalPrice.Value;
To establish a pricing expression for quotes, they repeated these steps, but selected Quote in the Configuration
Pricing Entity dialog box; this selects the Pricing.QuotePrice option in the Code Editor. When they finished, the
Document rule looked as follows:
396
Alternatively, you can use the Execute Specified expression action to set both the order and quote unit price
in one action. The following expressions are used to set both prices:
Pricing.OrderPrice = Inputs.decTotalPrice.Value;
Pricing.QuotePrice = Inputs.decTotalPrice.Value;
The resulting Document rule looks as follows:
397
The benefit of the Execute Specified expression action is that the calculation of all prices is grouped together
in a single expression.
398
The cmbModel input field uses a Data Row Lookup Method dynamic list. The value of the cmbModel input
provides the value within the first column of the WRModels lookup table, and the range of columns to search
for value is set to Base Price.
Once the Model Price is retrieved, the Epicor application needs to convert the value to a decimal value, because
the data lookup table stores all values as strings.
You must then assign the converted value to the model price input control, and must recalculate the total
price to include the model price.
To do this, Wavy Rider Products created the following code expression for the On Field Changed action in the
cmbModel input field (including earlier code to refresh the color and motor options dynamic lists):
399
400
Wavy Rider Products added the following code for the On Field Changed action in the chbFishFinderStd control
parameters in the Configurator Designer > Design > Page Designer > Input Properties pane:
401
Wavy Rider Products added the following code for the On Field Changed action in the Sound System (chbSound)
control parameters in the Configurator Designer > Design > Page Designer > Input Properties pane:
402
403
They also added the following Read Only code for the Standard Fisher Finder field:
// if chbFishFinderGPS is selected then chbFishFinderStd is read-only
return Inputs.chbFishFinderGPS.Value;
404
1.
Create a rule condition for each of the entities (Quote, Job, and ECO).
2.
Create only one rule condition and set the part numbers for each entity in the method rule actions.
Once rule conditions are defined, you can use three different options to set the Part Number field:
1.
2.
3.
The first two actions only provide for use of hard coded values. If they are used, you can define a rule condition
to determine which of the hard coded value to use for replacement of the default part number in the base part
method of manufacture. If the third option is used, you can develop a code expression to determine the
replacement part number, based on input values, data lookup, User Defined Method, or database query.
If the default values should be refreshed based on the new part number, you have to add the rule function action:
Execute Specified rule function
405
To test the Method rule, Wavy Rider Products used the Test Rules selection on the Actions menu in Configurator
Rule Entry. It invokes the configurator input page and operates in the same manner as in a configuration session.
However, after you select options and save the configuration, it allows review of testing rules results in the Test
Rules Tracker:
406
Note The red dot indicates that a defined rule exists for the method tree element. An exclamation point
indicates that the tree element is not kept.
407
408
For the Fish Finder, they created two rule conditions: one for the JobMtl entity, and a second condition for the
QuoteMtl entity. They defined the following method variables using the Method Variables selection on the
Actions menu:
QuoteMtl Entity Rule Condition
For the Quote material, the rule actions are very similar:
Action 1 - Execute specified expression where expression is as follows (see graphic):
Action 2 - Execute Set Part Defaults rule function
409
410
411
412
413
Index
Index
A
action (configurator entry) 137, 139, 222
action (configurator rule entry) 179, 223
allow reconfiguration 224
allow record creation 225
approved / not approved 228
approved check box 226, 227
assemblies and subassemblies (materials) 161
assembly sequence context function (eqm only) 346
attribute id context function (eqm only) 347
automatically create a new part number 289
automatically mark methods global 230
available inputs 231
available methods 232
available styles 233
B
base "universal" part and part revisions 55
basic configurator setup 42, 43
browser control 76, 376
business activity query designer 374
button control 76
C
calculation 145
character control 76
check box control 76, 393, 394, 395
code editor 123
code editor functions 125
code editor operators 131
column label 234
column set 235
column sets 62
combo box control 76, 371, 372, 375, 377, 378, 380
comment price processing 32
company id context function 329
component pricing options 142
configuration import / export 191
configuration in a multi-company enterprise 207
configuration price processing 32
configuration type 235
Configurator concepts and base components 22
configurator designer 69, 372, 378, 384, 387, 391
configurator designer - toolbox 76
configurator entry 44
configurator entry - detail 46
configurator entry > document rules > detail 138, 139
configurator entry > document rules > details 136
configurator entry > document rules > pricing options 142
configurator entry > record creation > part creation 147
configurator entry > sequence 156
configurator entry > smart string 154
configurator ID 236, 237, 238
414
D
data type (configurator designer) 242
datatype (global input variables) 242, 243
date control 76
decimal control 76
default eco group 244
demand header number context function 332
demand line number context function 333
design > page designer 75, 78, 84
digit structure 244
display configuration summary grid 245
do not notify the user if new part number already exists 275
document rule action 139
document rule actions 137
document rule components 137
document rule condition (configurator entry) 138
document rule conditions 137
document rules 136, 142, 396
document rules for pricing 396
document variables 146
Document variables 145
dynamic list 99, 246
dynamic list (data column lookup method) 377, 378, 380
dynamic list (data row lookup method) 381, 383, 384
dynamic list (data row range list method) 386, 387
dynamic list (run baq data source) 371, 372, 374, 375
dynamic list processing 30
dynamic lists and external lookups 41
dynamic lists editor 99, 372, 378, 381, 384, 387
E
edit 247
editor control 76
enable part number creation 247
end date (input list) 248
end position 250
ending decimal (input list) 248
enterprise configurator 249
enterprise configurator direct server process 217
enterprise configurator server process 217
entity context function 334
event expressions 72
existing configurations verification 200
exporting configurations 191
external ref 250
Index
G
generate method 254
giv name 254
global 255
global input variable 256
global input variables 112, 113
global variable name 254
H
height (page level) 258
height / p height 258
hide from summary 259
horizontal 259
how it is organized 21
I
implementation components and calculations 36
imported csv list data review 68
importing configurations 195
incoming Smart String configuration 260
incoming smart string processing parameters 154
increment 261
increment decision 261
information collection for configuration implementation 37
initial date value (global input variables) 261
initial decimal value (global input variables) 262
initial logical value (global input variables) 262
initial string value (global input variables) 263
initial value 263
input control display processing 29
input level actions 95
input level properties 84, 85
input name 264
input properties pane 75, 84
input properties pane - input level actions 95
input properties pane - input level properties 84, 85
input properties pane - page level actions 78, 81
input properties pane - page level properties 78, 79, 84
inspection attribute 265
intended audience 20
introduction 20
invisible 265
J
job number context function 336
K
keep component when 266
keep when 177
415
Index
L
label 267
label control 76
location 267
lookup functions 353
lookup table 268
lookup table csv file import 65
lookup tables 62
lookup tables and column sets 62
lookup tables and dynamic lists 106
M
manufacturing company processing 209
method 269
method rule actions 174
method rule components 174
method rule conditions 174
method rule sets 174
method rule sets, conditions and actions 173
method rules 186, 404, 406, 408, 413
method rules definition 171
method rules processing 31
method rules sequencing and testing 188
method type 270
method variables 168, 409, 411, 412
methods of manufacture 163
minimum value, maximum value, increment (decimal) 271
minimum, maximum (date) 270
modifier 272
modifiers 222
multi-company part and configuration creation - manufacturing
company 215
multi-company part and configuration creation - sales companies
217
multi-company product configuration - prerequisites and setup
211, 212, 213
multicompany part and configurator creation 215
multiplier 273
N
name 273
negatives 274
non conformance id context function (eqm only) 348
number of decimals 276
number of digits 277
O
on complete expression 72
on field changed 95, 277
on field changed event 375, 380, 391
on field validating 95, 278
on load expression 72
on load, on loaded, on complete and on save event expression
processing 27
on loaded expression 72
on page leave 81, 279
on page load 81, 279
416
P
pack line context function (eqm only) 349
pack slip context function (eqm only) 350
page (input level) 281
page (page level) 281
page designer and toolbox 75
page level actions 78, 81
page level processing 28
page level properties 78, 79, 84
page properties pane 78
page sequence 282
page title 283
param type 284
parameter name 284
part creation and smart string parameters 147
part creation processing 33
part description 285
part number context function 339
pclookup.datacolumnlist 354
pclookup.datacolumnlistnum 354
pclookup.datacolumnrangelist 354
pclookup.datalookup 353
pclookup.datarowlookuplist 354
pclookup.datarowrangelist 353
pclookup.datgarowlist 353
pclookup.datgarowlistnum 353
pointer 76
position and sizing fields (x, y, width and height) 286
pre-implementation planning 36
preface w/ part number 287
prompt for checkout 287
publish to doc 289
purchase order line number context function 340
purchase order number context function 339
purpose of this guide 20
Q
question & answer input sequence 41
quote number context function 342
R
radio set control 76
read only 290
read only (page level) 290
read only expression 291
read only expression (page level) 291
rectangle control 76
regenerate configurations 203
required 292
required input 292
S
sales company processing 208
scheduling resource 296
separator character 297
sequence 298
set field action 140, 184
set part number only 298
single level configuration 300
sivalues 295
size (input level) 301
size (page level) 302
skip page if all inputs are disabled or invisible 302
smart string configuration 27
smart string processing 35
specification id context function (eqm) 351
specification revision 352
start date (input list) 303
start position 304
starting decimal (input list) 303
starting sequence 304
subconfigurator processing sequences 156
summary label 305
super boms versus template boms 38
supplier id context function 344
synchronize 305
synchronize revision approval 306
T
tab order 306
table name 308
target entity 49
template 309
testing configuration input pages and defining rules 41
testing method rules 188
text 309
the configuration session 23
the evaluation process 26
thousands separator 310
toolbox pane 75, 78, 84
tooltip 310
type (part) 311
Index
U
ud method 311
update saved input values and set fields in part table 312
use component pricing 313
use incr value 315
use increment 315
use init value 316
use initial url 315
use initial value 316
use item list 316
use label 317
use list values 316
use max value 317
use min value 318
use of configuration rules 210
use resulting job method for component pricing 318
use saved layout when reconfiguring 319
use screen label 317
use tooltip 319
user defined method 389, 390, 391
user defined methods 117
user defined methods and dynamic lists 104
user id contexf function 345
using a super bom 39
using a template bom 40
V
valid list 320
value type 320
variable definitions 321
varname (global input variables) 322
verify existing job configurations 323
verify existing order configurations 324
verify existing quote configurations 325
W
wavy rider configurator q&a input page 356
wavy rider products 355
web input name 326
width (page level) 327
width / p width 326
X
x position 327
Y
y position 328
417