You are on page 1of 70

Epicor ERP

Embedded Customization
Course
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.

ED834905
90521-10-9236-58310700
10.0.700
Revision: June 08, 2014 5:28 p.m.
Total pages: 70
course.ditaval

Embedded Customization Course

Contents

Contents
Embedded Customization Course.........................................................................................6
Before You Begin....................................................................................................................7
Audience.........................................................................................................................................................7
Prerequisites....................................................................................................................................................7
Environment Setup..........................................................................................................................................7
Workshop Constraints..............................................................................................................................8

Customization Overview........................................................................................................9
Embedded Customization Model........................................................................................11
Form Customization.............................................................................................................13
Saving Customizations...................................................................................................................................13
Customization Tools Dialog............................................................................................................................15
Workshop - Verify Customization Rights.................................................................................................16
Workshop - Select a Program for Customization.....................................................................................17
Workshop - Hide a Control.....................................................................................................................18
Add a Control................................................................................................................................................19
Workshop - Add a Group Box.................................................................................................................19
Add a Text Box................................................................................................................................21
Add a Label and Link it to the Text Box............................................................................................22
Test the Customization....................................................................................................................22
Add an UltraCombo Control..........................................................................................................................23
Workshop - Add an EpiUltraCombo Control...........................................................................................23
Add a Label for the New Ship Via Field............................................................................................23
Add an EpiUltraCombo Field............................................................................................................24
Use the Simple Search Wizard.........................................................................................................24
Use the Form Event Wizard..............................................................................................................25
Test the Customization....................................................................................................................25
Add an UltraGrid Control...............................................................................................................................27
Workshop - Add an UltraGrid Control.....................................................................................................27
Modify a Sheet and Add the UltraGrid Element................................................................................27
Select Columns to Display................................................................................................................28
Test the Customization....................................................................................................................29

Customization Form Wizards...............................................................................................30


Rule Wizard...................................................................................................................................................30
Workshop - Add a Rule...........................................................................................................................30
Create a Row Rule...........................................................................................................................30
Create Rule Actions.........................................................................................................................31
Test the Rules..................................................................................................................................32
Image Column Wizard...................................................................................................................................34
Workshop - Add Image Column.............................................................................................................34
Use the Wizard to Create a Rule......................................................................................................34

Epicor ERP | 10.0.700

Contents

Embedded Customization Course

Test the Rule...................................................................................................................................36


Sheet Wizard.................................................................................................................................................37
Workshop - Use the Sheet Wizard..........................................................................................................37
Create a Sheet.................................................................................................................................37
Add a Label and a NumericEditor Field.............................................................................................38
Test the New Sheet.........................................................................................................................38
Form Event Wizard.........................................................................................................................................40
Workshop - Add a Simple Form Event.....................................................................................................41
Use the Form Event Wizard..............................................................................................................41
Enter the Code................................................................................................................................41
Test the Customization....................................................................................................................42
Workshop - Add a Complex Form Event.................................................................................................43
Use the Form Event Wizard..............................................................................................................43
Enter the Code................................................................................................................................43
Test the Customization....................................................................................................................44
Event Wizard.................................................................................................................................................45
Workshop - Add Event to a Button.........................................................................................................45
Create a Customization...................................................................................................................45
Use the Event Wizard......................................................................................................................46
Test the Customization....................................................................................................................47
Workshop - Add an Event to an UltraGrid...............................................................................................48
Use the Event Wizard......................................................................................................................48
Test the Customization....................................................................................................................50

Foreign Key View.................................................................................................................51


Workshop - Create a Foreign Key...................................................................................................................51
Create a Custom Sheet...........................................................................................................................51
Link a Sheet to Part Data........................................................................................................................52
Create a Textbox and a Label..................................................................................................................53
Create a Part..........................................................................................................................................53
Test the Customization...........................................................................................................................54

Customization Deployment.................................................................................................55
Menu Maintenance........................................................................................................................................55
Workshop - Deploy the Customization....................................................................................................55
Select the Customization.................................................................................................................56
Deactivate the Customization..........................................................................................................57

User Defined Tables..............................................................................................................58


Workshop - User Defined Tables....................................................................................................................59
Modify the Current Menu.......................................................................................................................59
Switch to Developer Mode......................................................................................................................60
Design the Table Interface......................................................................................................................60
Test the New Form.................................................................................................................................61
Customize the List View and Title Bar.....................................................................................................62
Deploy the Customized Table.................................................................................................................63
Workshop - Create a Drop Down Menu.........................................................................................................64

Epicor ERP | 10.0.700

Embedded Customization Course

Contents

Add an Extended UD Table.....................................................................................................................64


Use the Simple Search Wizard.................................................................................................................65
Use the Form Event Wizard.....................................................................................................................66
Test the Customization...........................................................................................................................66

Customization/Personalization Maintenance.....................................................................68
Conclusion.............................................................................................................................69

Epicor ERP | 10.0.700

Embedded Customization Course

Embedded Customization Course

Embedded Customization Course


This course explores the customization tools embedded within the Epicor application. Unlike personalization,
users can customize a form and then make it available to multiple users in a company.
Through the customization tools, users can add/remove data elements, modify component properties, create
custom C# code that runs before and after data field modifications, and other modifications that help better
match the Epicor application with the requirements of your business or industry.
Hands-on workshops guide you through the customizations and help you understand the tools used to make
these customizations.
Upon successful completion of this course, you will be able to:
Understand the benefits of customizations for specific business requirements.
Familiarize yourself with the customization tools.
Use customization to hide fields, change properties of text boxes, and add interface elements.
Use the Customization Form Wizards to add rules to make an action happen when a predefined condition is
true and execute custom rules when a form opens or closes, and other key features.
Review how foreign key views provide joins to link related tables together for display in a customization.
Customize and deploy a user defined table from the Epicor application.
Deploy customizations to companies and users.

Epicor ERP | 10.0.700

Embedded Customization Course

Before You Begin

Before You Begin


Read this topic for information you should know in order to successfully complete this course.

Audience
Specific audiences will benefit from this course.
System Administrator
IT/Technical Staff

Prerequisites
To complete the workshops in this course, the necessary modules must be licensed and operating in your training
environment. For more information on the modules available, contact your Epicor Customer Account Manager
at EpicorCAM@epicor.com. It is also important you understand the prerequisite knowledge contained in other
valuable courses.
Navigation Course - This course introduces navigational aspects of the Epicor application's user interface.
Designed for a hands-on environment, general navigation principles and techniques available in two user
interface modes - Classic Menu and Modern Shell Menu. Workshops focus on each of these modes and
guide you through each navigational principle introduced.
Personalization Course - This course covers how to personalize the Epicor application by adjusting the views,
options, and toolbars to best suit your business needs. It also explains how to modify program interfaces to
match your preferences.
Advanced Personalization Course - This course shows you how to personalize your Epicor application in
a way that best suits your company's needs. It introduces the changes you can make to the layout and content
that does not affect the actual data or the application requirements. These features are specific to users with
Personalization security privileges.

Environment Setup
The environment setup steps and potential workshop constraints must be reviewed in order to successfully
complete the workshops in this course.
Your Epicor training environment, in which the Epicor demonstration database is found, enables you to experience
Epicor functionality in action but does not affect data in your live, production environment.
The following steps must be taken to successfully complete the workshops in this course.

Epicor ERP | 10.0.700

Before You Begin

1.

Embedded Customization Course

Verify the following or ask your system administrator to verify for you:
Your Epicor training icon (or web address if you are using Epicor Web Access) points to your
Epicor training environment with the Epicor demonstration database installed. Do not complete
the course workshops in your live, production environment.
Note It is recommended that multiple Epicor demonstration databases are installed. Contact
Support or Systems Consulting for billable assistance.
The Epicor demonstration database is at the same service pack and patch as the Epicor
application. Epicor's education team updates the Epicor demonstration database for each service pack
and patch. If your system administrator upgrades your Epicor application to a new service pack or patch,
he or she must also download the corresponding Epicor demonstration database from EPICweb > Support
> Epicor > Downloads and install it. If this is not performed, unexpected results can occur when completing
the course workshops.
Your system administrator restored (refreshed) the Epicor demonstration database prior to
starting this course. The Epicor demonstration database comes standard with parts, customers, sales
orders, and so on, already defined. If the Epicor demonstration database is shared with multiple users
(that is, the database is located on a server and users access the same data, much like your live, production
environment) and is not periodically refreshed, unexpected results can occur. For example, if a course
workshop requires you to ship a sales order that came standard in the Epicor demonstration database,
but a different user already completed this workshop and the Epicor demonstration database was not
restored (refreshed), then you will not be able to ship the sales order. Epicor's education team has written
the course workshops to minimize situations like this from occurring, but Epicor cannot prevent users
from manipulating the data in your installation of the Epicor demonstration database.

2.

Log in to the training environment using the credentials manager/manager. If you are logged in to your
training environment as a different user, from the Options menu, select Change User.

3.

From the Main menu, select the company Epicor Education(EPIC06).

4.

From the Main menu, select the Main site.

Workshop Constraints
This course is designed for a user with customization privileges. If you do not have customization privileges,
contact your system administrator for assistance in defining your role as it relates to these privileges. Being
identified as a system administrator does not automatically allow personalizations and customizations.
When you finish this course, please make sure the customizations you created are either deactivated or removed.
Removing/deactivating these customizations ensures the appropriate default training environment is available
later for other courses.

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Overview

Customization Overview
You can customize most programs within the Epicor application. A powerful tool, Customization, can save you
time and money as you use these modifications to directly match the Epicor application to your business needs.
The Epicor application offers you a variety of customization tools. You can add controls such as text boxes and
lists, which are then linked to a data source you can select. You can also create new sheets and make them
available to all users in a company, specific users, and even different companies. You can also activate your own
customized code through events or new buttons and use this feature to run processes unique for your company.
Note Customizations can potentially be used by everyone within your company, so you need to make
sure these customizations work properly. If you want to significantly customize the application, consider
working with your consultant.

Epicor ERP | 10.0.700

Customization Overview

10

Embedded Customization Course

Epicor ERP | 10.0.700

Embedded Customization Course

Embedded Customization Model

Embedded Customization Model


The application supports a multi-layer customization model within the interface framework.
This toolset uses the following multiple layer hierarchy. Each layer is a parent for the following layer, so the
customizations can inherit interface and code changes from the previous layer in this hierarchy:
1.

Productization -- This layer supports product variants so the application can meet requirements for each
Epicor user. These customization layers do this by providing an interface specifically tailored to user size and
type. These layers are only developed by Epicor and Epicor partners.

2.

Verticalization -- Through this layer, the application can support the terminology, data fields, and data
flow needed for a specific industry vertical. Each verticalization can be packaged and delivered as a variation
from the base product. These layers are only developed by Epicor and Epicor partners.

3.

Customization -- Use the customization layer to modify aspects of the user interface and functionality to
match a business need. By leveraging these tools, you can model, track, pilot, deploy, and roll out changes
to specific users, specific companies, and multiple companies. The embedded customization engine resides
in two code sections. One section resides in each User Interface (UI) application form and the other section
resides in the business application layer. The UI customization component acts like an Integrated Development
Environment (IDE). When you customize a program, you can:
Add form controls like tabs, panels, text boxes, check boxes, grids, labels, buttons, and so on. You bind
these custom controls to a <table>.<column> you select on the control properties.
Modify control properties such as Visible, Enabled, Location, Size, Text, and so on.
Add or remove data columns to or from grids.
Enter C# code that runs before or after data field modifications, before or after data view changes, at
form Load, and at form Exit. The code has access to the active dataset as well as the extended column
and row properties. Additionally, the code can access data within the database.

4.

Personalization -- If users have personalization rights, these individuals can further personalize a
customization to match specific requirements and preferences. These users can add grid columns, arrange
grid columns, and change field properties such as color and font. Personalizations do not affect the data or
application requirements.

5.

Localization -- To complete the customization functionality, you can localize the interface to display text
strings in a selected language. You can create multiple language variants and then deploy these Localization
layers to specific users.

Because Productizations and Verticalizations are developed either by Epicor Software Corporation or by an
Epicor partner organization, you cannot change these layers. The personalization and customization layers are
XML files placed on top of the existing base code, productizations, and/or verticalizations. When a program has
an embedded customization, personalization, and/or localization layer, the XML file contains the modifications
to determine how the user interface displays. This hierarchical layering of customizations ensures the integrity of
the source code.
Software Developer Kit
The Software Developer Kit (SDK) consists of a series of advanced tools for .NET programmers who want to
extend the Epicor application. The SDK is a separate application you can purchase from Epicor. This application
contains the environment required to develop new forms by leveraging the same toolset used by Epicor developers.

Epicor ERP | 10.0.700

11

Embedded Customization Model

Embedded Customization Course

However if you need to create and integrate new entry programs, reports, and/or processes, considering purchasing
the SDK application. The SDK application is beyond the scope of this course.

12

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

Form Customization
When you customize a form, you change how the program displays and interacts with a user.
Customization is another layer you create for a specific form, such as productizations and veriticalizations. Each
form can have multiple layers of changes, and the customization engine resolves all layers through the stack from
productization to verticalization to customization to personalization. For example, if you add fields or sheets to
a form to support a verticalization and then apply a customization on top of this verticalization, the Epicor
application applies each layer sequentially. This means a subsequent change to the verticalization layer does not
invalidate the customization unless there is a direct conflict of screen space or dataset columns.
Select Customization Window
Once your Customization Privileges are enabled, from the Settings tile, select Developer Mode to activate
customization mode. Once you are in Developer Mode, the Select Customization window displays for each form
you launch.
The Select Customization form is very important because it allows you to control access to the different layers
of the customization engine. The top left corner of the form displays a list of available productizations,
verticalizations, customizations, and personalizations.
Tip When you expand nodes for customizations and personalizations, there may be some customizations
and personalizations already available.
If you select a customization, the form opens with the selected customization. If you do not select an existing
customization and click OK, you can create a new customization for the form and save it under a new name.
Conversely, if you want to ensure you are testing the form with no customization, regardless of the menu setting,
select the Base Only check box at the bottom. This causes the default form to display after you leave this window.
Selecting this check box also causes the Available Layers section to be disabled.
Customization Tools Window
Use the Customization Tools Dialog window to manipulate most aspects of the program you are customizing.
The five main features of the Customization Tools window include:
Navigation Pane
Properties
Wizards
Script Editor
Toolbox
This course discusses each of the five features in a greater detail.

Saving Customizations
Use the Customization Save Dialog to save customizations and localizations.
You can also use this window to save different versions of your customization or localization. Leverage this feature
to develop more complex customizations and localizations in stages. You can specify if you want to make this
project available to one company or across all companies in your organization.

Epicor ERP | 10.0.700

13

Form Customization

Embedded Customization Course

Tip A localization is very similar to a customization. You can hide and show elements, create new elements,
implement custom code, and so on. You use localizations, however, to make user experience changes that
reflect the needs of a specific culture.
You can also use this window to indicate if the current project is a Work in Process (WIP). When you assign the
WIP status to a customization or localization, it is not available to other users. Use this feature to develop the
project within your own test environment, making sure that you do not release it before it is ready for use.
Customizations are automatically saved to the server. Because of this, you can make them available to users
within your network. Users can then enable the customizations and localizations they want to use. For more
information, refer to Application Help topic: Deploy Customization.
This window also displays the other customizations and localizations that currently exist for this form. You view
this information in the Existing Customizations grid.

14

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

Customization Tools Dialog


Use the Customization Tools Dialog window to create and edit customizations for most programs in the Epicor
application.
The Customization Tools Dialog window displays over the program you are customizing, and displays the sheets
and fields available for the program within its navigation pane. The navigation pane is on the left side of the
window.
You can manipulate most aspects of the program in this window. You can resize each control directly with the
mouse. When you select a control and click the Properties sheet, you also gain access to several aspects of this
control. Use the Properties sheet for this control to change the control's font, color, size, and so on. You can also
use these properties to bind, or link, the control to a specific database table and field.
The Tools menu contains the primary tools. One of the key features is the Toolbox, which allows you to create
the custom controls you need on new or current sheets. You can also use the Customization Options window
to create a new sheet or gain access to a previous customization.
A series of wizards is available which guide you through the customization process. These wizards help you
create new sheets, row rules, and other modifications. Using these wizards saves you time developing your
customization, so leverage this functionality as much as possible. These wizards are discussed in more detail later.
You can modify and add C# code in the Script Editor to further customize an interface to match your business
needs.
As you select various branches and nodes within the tree view, the Properties sheet displays the properties
associated with that field, sheet area, or sheet. Depending on the type of branch or node selected, a different
set of Properties display. As you select various items in the tree view, different Properties sets display the properties
associated with that field, sheet area, or sheet. Four properties sets are available: Control, Sheet, Grid, and List.
Control Properties - This set contains the properties of the selected control. You can resize each control
directly with the mouse but you can use the Control Properties to change the font, color, location, size, and
other properties of the field, such as Visible or ReadOnly. Use this sheet to bind, or link, the control to a
specific data source and field.
Sheet Properties - Use this property set to control sheet aspects. Manipulate the properties here to change
the color, location, size, and other properties of the sheet. You can also use these properties to manipulate
the appearance of labels.
Grid Properties - Use this set to manipulate the properties of a specific grid. You can make certain columns
visible or invisible. You can also change the color, location, size, and other properties of the grid.
List Properties - Use this set of properties to bind, or link, the selected drop-down list to a specific data table
and field. You can then select which options display on this list. You can also manipulate the selected color,
location, size, and other properties of the control.

Epicor ERP | 10.0.700

15

Form Customization

Embedded Customization Course

Workshop - Verify Customization Rights


In this workshop, verify the user has customization rights enabled.
Navigate to User Account Security Maintenance.
Menu Path: System Setup > Security Maintenance > User Account Security Maintenance
Important This program is not available in the Epicor Web Access.

1. In the User ID field, enter manager, and press Tab.


2. Navigate to the Options sheet.
3. Verify the Customize Privileges check box is selected.
4. Exit User Account Maintenance.

16

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

Workshop - Select a Program for Customization


In this workshop, select a program for your customization.
You first activate Developer Mode and then navigate to the program you wish to customize.
Important Verify Developer Mode is always on while working on the workshops in this section of the
course.
1. Return to the Home window and click the Settings tile.
2. Verify the General Options node is highlighted on the tree view. Select the Developer Mode option.
3. Return to the Home window and click the Menu tile.
4. Navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry
Once you launch the program, the Select Customization window displays.
5. In the Select Customization window, review the Default Customization Programming Language
section. Verify the C# option is selected.
6. Click OK.
Sales Order Entry displays. You can now create a customization using the base form.
7. From the Tools menu, select Customization.
The Customization Tools Dialog window displays. The customization name displays after the
Customization Tools Dialog title at the top of the window. If you didn't select an existing customization,
(default) displays after the title.
Notice the user interface now displays a grid over all its sheets. This grid defines the location where each
control is placed on the user interface.

Epicor ERP | 10.0.700

17

Form Customization

Embedded Customization Course

Workshop - Hide a Control


In this workshop, hide a group box on a sheet in Sales Order Entry.
1. Return to Sales Order Entry and navigate to the Summary sheet.
2. Click the border of the groupbox for Ship To.
The Properties sheet in the Customization Tools Dialog window displays information for grpShipTo.
The grpShipTo control is selected in the tree view as well.
Note You can move Customization Tools Dialog window around so you can have better access to
the form. You use the tree view to navigate to specific controls, and you can also click on each control
in the form.

3. In the Customization Tools Dialog window, set the Visible property to False and click back to the form.
The entire groupbox and its fields are now hidden during runtime.
4. In the Customization Tools Dialog window, from the File menu, select Save Customization.
The Customization Save Dialog window displays.
5. In the Name field, enter XXXNewHeader (where XXX are your initials).
6. In the Description field, enter XXXNewHeader (where XXX are your initials) and click Save.
7. When the Customization Comment window displays, enter XXX Customization (where XXX are your
initials) and click OK.
Use the Customization Comment window to enter helpful information you need for the customization. You
can review these comments in the Select Customization window when you select the customization layer.
8. Close the Customization Tools Dialog window and notice the Ship To groupbox no longer displays.
9. Remain in Sales Order Entry.

18

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

Add a Control
You next will use the ToolBox to add a group box, textbox, and label to your custom form.
The ToolBox contains the options you need to add custom controls to sheets. When you select the ToolBox
option from the Tools menu, it displays on top of your current form. Click the buttons on the Toolbox to create
custom controls on the form such as text boxes, grids, and check boxes.
The following workshops demonstrate the functionality of three ToolBox menu options:
EpiGroupBox - This control allows you to see several selectable options at once. It usually accompanies
another groupbox that displays the current selected options. With this tool selected, click and drag your cursor
over the form. A groupbox displays with resizing handles. Release your mouse button to drop the groupbox
onto the form. Use the handles to make the groupbox the desired size. You can bind a groupbox to a Data
Source/Data Field. Select these on the Properties sheet for the groupbox.
EpiTextBox - This control is used to allow input to the database or to display a particular piece of data from
the database. A DataView and a DataField can be specified to bind the textbox to that data. Binding is the
process that links custom controls such as fields, check boxes, and lists to an individual piece of data within
a table or to a filtered view of a database table.
EpiLabel - This control is used to describe or label another control. The label can be associated with another
control, allowing the two controls to be tied together. For example, if the control is repositioned on the form,
the label stays with the control. You cannot bind data to the label control.
For a complete list of the Toolbox controls, review the application help or the Epicor User Experience and
Customization Guide.
Tip For consistency, the height of a control should always be 20 pixels. Use the size property to define
this parameter by clicking the plus sign (+) next to the Size field to display and change the width and height
properties.

Workshop - Add a Group Box


In this workshop, add a group box to the Summary sheet in Sales Order Entry.
1. Click the Tools menu and select Customization.
The Customization Tools Dialog window displays.
2. In the Customization Tools Dialog window, from the Tools menu, select ToolBox.
This displays the ToolBox you use to add controls to the sheet.
3. In the ToolBox, select EpiGroupBox.
4. In the space where the Ship To group box used to be, click and hold the form, dragging right and downward
to draw the epiGroupBoxC1 in line with the Sold To group box.
You can use the handles (the white squares) on the control to adjust the size of the group box. However
you can adjust this group box to match the size of an existing group box by copying the Size property value.
5. Click the Sold To group box.
The Properties sheet now displays the parameters for the selected group box.
6. Locate the Size property. Copy this value (416, 197).
7. On the tree view, click the new epiGroupBoxC1 and paste the size parameters into the Size field.

Epicor ERP | 10.0.700

19

Form Customization

Embedded Customization Course

This ensures the two group boxes are the same size.
8. Now select the Text property and change the group box caption to display New Header.
The caption for the new group box now displays this text.
9. Select the BackColor drop-down list and select a different color for the group box.
10. Some properties are grouped together under other properties. Expand the Font menu.
11. Select the Bold drop-down list and select the True option.
12. Select the Italic drop-down list and select the True option.
13. Click Save.
14. When the Customization Comment window displays, click OK.
This adds a date/time stamp to the comment so you can track your progress on the customization.
15. Remain in Sales Order Entry and the Customization Tools Dialog window.

20

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

Add a Text Box


In this workshop, add a new tex tbox to display the purchase order (PO) number.
1. If the Toolbox is not displayed, return to the Customization Tools Dialog window. From the Tools menu,
select the ToolBox.
This displays the ToolBox that allows you to add controls to the sheet.
2. On the Sales Order Entry > Summary sheet, in the Header section, click the PO text box.
3. In the Customization Tools Dialog window, notice the EpiBinding property field is set to
OrderHed.PONum.
The EpiBinding property field is the database table (OrderHed) and column (PONum) linked to this control.
4. In the ToolBox, click EpiTextBox.
5. Click inside the New Header group box; click and drag to place the text box on the form.
6. Return to the Properties sheet. In the Size field, enter 120, 20.
This value is the standard size used for most text boxes.
7. Remove the text characters inside the Misc > Text field. This clears the default placeholder text, causing
the field to display as blank.
8. You now link, or bind this text box to a <table>.<column> in the database. This binds the control so users
enter and display data from the selected column. Click the EpiBinding drop-down list.
9. Next to OrderHed node, click the plus sign (+).
10. Search for and select PONum.
The text box is now linked to the OrderHed.PONum table and column.

Epicor ERP | 10.0.700

21

Form Customization

Embedded Customization Course

Add a Label and Link it to the Text Box


In this workshop, add a label for the new PO Number textbox and then link the label to the textbox.
1. In the Toolbox, click EpiLabel.
2. In the New Header section, click the form.
3. Position the EpiLabel to the left of the PONum textbox.
4. Return to the Properties sheet. In the Text property, enter PO Number.
This text now displays in the epiLabel. You may need to expand the handles on the label to display the entire
text.
5. Select the text box you added during the previous exercise.
6. Return to the Properties sheet. In the EpiControl section, locate the EpiLabel property.
7. Click the down arrow next to this property. Under the Suggested node, select epiLabelC1.
Tip Another way is to click the PO Number label, copy the name, and paste it into the EpiLabel field
of the text box.

8. The text box and the label are now linked together. Click and hold the text box, then move it. The text box
and the label move together as a single unit.
9. In the Customization Tools Dialog window, click Save.
10. In the Customization Comment window, click OK.
11. Close the Customization Tools Dialog window and exit Sales Order Entry.

Test the Customization


During this workshop, you verify the customization works correctly.
1. Launch Sales Order Entry again.
2. In the Select Customization window, select XXXNewHeader (where XXX are your initials) and click OK.
3. From the New menu, select New Order.
4. In the Header section on the Summary sheet, in the PO field, enter a number and press Tab.
5. Verify the new PO Number field in the New Header section displays the same number.
6. Close Sales Order Entry.
7. To the Save Confirmation message, click No.

22

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

Add an UltraCombo Control


An EpiUltraCombo is a drop-down list of valid entries. This topic demonstrates how you add the EpiUltraCombo
control to your customization and modify the additional properties used to define this control.
You can use combo boxes in two different modes. The first mode consists of creating a combo box (drop-down)
to contain custom values that have no data value and are simply for display purposes. This can be helpful in
situations where you do not need to save data to a bound field in the database yet and you must select a certain
string value from a list.
The second mode involves use of the retriever functionality indicated by a check box. Essentially, the retriever
allows you to pull values through a programmatic convention, called an adapter, from values already set in
another program in the Epicor application.
Note EpiCombo objects, as well as most other controls available to you in Embedded Customization, are
Epicor's own versions of a series of .NET framework objects, including message boxes, combo boxes, data
list views, text boxes, and grids. Microsoft provides documentation on each of these objects in their .NET
Framework library available at http://www.msdn.com. To set additional properties or adjust the display of
a given object, you should understand the original .NET control which the Epicor control is based. The .NET
properties and methods available for the control are generally available when you use these objects.

Workshop - Add an EpiUltraCombo Control


In this workshop, add an EpiUltraCombo control to display ship via codes to the New Header group box you
created in Sales Order Entry.
You use UltraCombo controls to add elements to the form and display a list of valid options in a drop-down list.

Add a Label for the New Ship Via Field


1. Launch Sales Order Entry again.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXNewHeader (where XXX are your initials) and click OK.
The Sales Order Entry form displays.
3. Navigate to the Summary sheet.
4. From the Tools menu, select Customization.
5. In the Customization Tools Dialog window, from the Tools menu, select ToolBox.
6. In the Toolbox, click EpiLabel.
7. In Sales Order Entry, in the New Header section, click the form and position the EpiLabel under the PO
Number label.
8. Click the new EpiLabel.

Epicor ERP | 10.0.700

23

Form Customization

Embedded Customization Course

9. Return to the Properties sheet. In the Text field, enter Ship Via.
10. In Sales Order Entry, click the new Ship Via label.
The new label displays on the form.

Add an EpiUltraCombo Field


1. In the ToolBox, select EpiUltraCombo.
2. Inside the New Header section, click the form.
The EpiUltraCombo drop-down list is added to the form.
3. Position the EpiUltraCombo to the right of the Ship Via label.
4. Return to the Properties sheet. In the Size field, enter 120, 20.
5. Remove the text characters inside the Misc > Text property.
6. Now bind this EpiUltraCombo to the database. Click on the EpiBinding drop-down list and bind this control
to the OrderHed.ShipViaCode column.
7. Link the EpiUltraCombo to the Ship Via label. Click the EpiLabel drop-down list and select the epiLabelC2
option.
8. Click on the EpiUltraCombo on the form.
The label moves closer to your custom drop-down list. You can now move the drop-down list and the label
around as a unit.

Use the Simple Search Wizard


1. In the Customization Tools Dialog window, from the Tools menu, select Wizards > Customization
Wizards.
The Customization Code Wizard Dialog window displays.
2. In the Customization Code Wizard Dialog window, select Simple Search and click Launch Wizard.
The Simple Search Wizard displays. This wizard generates code to perform a ListData Search.
3. Click the Get Adapters button.
The available adapters display.
4. Select ShipViaAdapter and click Next.
5. Verify the DropDown option is selected.
6. In the Custom DropDown field, select epiUltraComboC1.
7. In the Value Field field, select ShipViaCode.
8. In the Display Field field, select Description.
9. Click Finish.

24

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

You return to the Customization Code Wizard Dialog window.


10. Click Close.

Use the Form Event Wizard


1. In the Customization Tools Dialog window, navigate to the Wizards > Form Event Wizard sheet.
2. In the Select Event Type field, select Load.
3. Click the Right Arrow button to add the event type to the list.
The event you selected displays in the Select New / Existing Event Handler list.
4. Click the Update Selected Event Code button.
5. Navigate to the Script Editor sheet.
Tip To make navigation though the code more convenient, maximize the Customization Tools
Dialog window.

6. Copy SearchOnShipViaAdapterFillDropDown() (located at line 50 in the code).


7. Scroll down to the bottom of the sheet and paste the code you copied beneath Add Event Handler Code
and end the line with a semi-colon.
SearchOnShipViaAdapterFillDropDown();
8. From the Tools menu, select Test Code.
9. If the code compiles successfully, click Save.
10. In the Customization Comment window, click OK.
11. Close the Customization Tools Dialog window.
12. Exit Sales Order Entry.

Test the Customization


1. Relaunch Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXNewHeader (where XXX are your initials) and click OK.
3. In the Sales Order field, search for and select a sales order.
4. Next to the new Ship Via EpiUltraCombo box, click the down arrow.
A list of valid options displays.

Epicor ERP | 10.0.700

25

Form Customization

Embedded Customization Course

5. Remain in Sales Order Entry.

26

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

Add an UltraGrid Control


Grids display data in a column and row format so users can review multiple records at the same time. This topic
explains how to add an EpiUltraGrid control to your customization and modify the additional properties used
to define this control.
As with the other controls in the ToolBox, the UltraGrid is based on a member of the .NET framework called a
listview and allows multiple, related pieces of information to display in a group.
Specify a datasource or table to bind the ultragrid to a source. The Properties sheet for an UltraGrid control also
allows you to define the data fields that display when the dataset is retrieved from the database for viewing in
the UltraGrid.

Workshop - Add an UltraGrid Control


In this workshop, add an EpiUltraGrid element for release details to the Summary Header section.
Grid elements allow multiple related pieces of information to display in a group.

Modify a Sheet and Add the UltraGrid Element


Note In the Workshop - Add an Event to an UltraGrid, you will come back to this customization to
add special events in order to enable entry through the grid.
1. Within Sales Order Entry, navigate to the Summary sheet.
2. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.
3. Select the Header group box and set the Visible property to False.
4. Select the Counter Sale group box and set the Visible property to False.
5. Select the Summary group box and set the Visible property to False.
6. Drag the Create Jobs and Process Counter Sale buttons to the left of the screen to make it disappear.
Note Buttons have underlying code that brings them back to the screen if the visibility is set to false.
Dragging them off the screen prevents them from displaying in the form.

7. In the Customization Tools Dialog window, in tree view, select SalesOrderForm > sheetTopLevelPanel1
> summaryPanel1 > summaryDetailSheet1.
8. Change the Location property to 8, 235.
9. From the Tools menu, select ToolBox.
10. In the Toolbox, click EpiUltraGrid.
11. Click in the area below the Order Lines grid, and resize the grid to make it large enough to fill the space
available.

Epicor ERP | 10.0.700

27

Form Customization

Embedded Customization Course

12. Select the new EpiUltraGridC1 control.


13. Return to the Properties sheet. Change the Text property to Releases.
14. Now bind this EpiUltraGrid to a table. Click on the EpiBinding drop-down list and bind this control to the
OrderRel table.
15. In the Customization Tools Dialog window, click Save.
16. When the Customization Comment window displays, click OK.
17. Close the Customization Tools Dialog window.
18. Exit Sales Order Entry.
To select the columns to display in the next workshop, you must save, close, and re-open the customization.

Select Columns to Display


1. Relaunch Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXNewHeader (where XXX are your initials) and click OK.
The Sales Order Entry form displays.
3. Navigate to the Summary sheet.
4. From the Tools menu, select Customization.
5. Select the new Releases UltraGrid.
6. Return to the Properties sheet. Click the Layout > Columns drop-down list.
The Column Properties window displays.
7. In the Column Properties window, click the Toggle Hidden button.
In the Hidden column, verify the check boxes are selected. This hides the columns during runtime.
8. Click the Field column header to sort the list alphabetically.
9. Clear the Hidden check boxes for the following columns:
OrderLine
OrderRelNum
ReqDate
SellingReqQty
ShipToNum
10. In the Customization Tools Dialog window, click Save.

28

Epicor ERP | 10.0.700

Embedded Customization Course

Form Customization

11. In the Customization Comment window, click OK.


12. Close the Customization Tools Dialog window.
13. Exit Sales Order Entry.

Test the Customization


1. Relaunch Sales Order Entry.
The Select Customization window displays.
2. Select the XXXNewHeader customization (where XXX are your initials).
3. Navigate to the Summary sheet.
4. In the Sales Order field, search for and select sales order 5040.
5. Review the information in the Releases grid.
The order releases for order 5040 display.
6. Exit Sales Order Entry.
7. When prompted to save your order, click No.

Epicor ERP | 10.0.700

29

Customization Form Wizards

Embedded Customization Course

Customization Form Wizards


The Customization Tools Dialog window contains a series of customization form wizards that can guide you
through customizing various aspects of a form (program).
Tip The Epicor application also contains a series of wizards, the Customization Code Wizards, that help
you create valid code. You launch these wizards from the Tools menu.

Rule Wizard
Use the Rule Wizard to create new row rules for data views.
Row Rules control the visual styling of controls based on current data. Once you set up a new rule, you then set
up the rules action. You can define rules for both data fields and image columns through this wizard. After you
save the rule, it appears in the tree view as a node under the Custom Row Rules node.
Example You set up a rule so that if the order quantity is less than 10, the field is highlighted.
You can edit the rules on this wizard or on the Custom Row Rules properties sheet. Create image columns
within the Image Column Wizard.
It is possible to create complex row rules, define custom rule conditions and rule actions, and evaluate the rules
based on the values in other data views.
When you define a custom rule condition, you specify the setting of behavior for the fields in the defined data
view based on complex comparisons, which can be specified in code snippets. It is also possible to specify code
snippets that can be used for the row rule action so that complex behavior can be achieved. The code snippets
for both rule condition and rule action are specified in the Script Editor.
Tip A wizard is available that guides you through creating an image column and assigning row rules to
it. This wizard, the Image Column Row Rule Wizard, can be launched from either the Rule Wizard or
the Tools menu. To launch it from the Rule Wizard, click the Image Column / Row Rule Wizard button.
For more information, refer to the Image Column Row Rule Wizard topic in the Application Help.

Workshop - Add a Rule


In this workshop, use the Rule Wizard to highlight the part number and description if the discount is greater than
five percent on the sales order line detail.

Create a Row Rule


1. Launch Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, click OK.

30

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

This starts a new customization that uses the base form.


3. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.
4. Navigate to the Lines > Detail sheet and click the Part/Rev field.
5. In the Customization Tools Dialog window, select the Wizards > Rule Wizard sheet.
6. Click the New Row Rule button and enter the following information:
Field

Data

Rule Description

Excessive Discount

Rule View

OrderDtl

Select View

OrderDtl

Select Field

DiscountPercent

Rule Condition

GreaterThan

View/Field?

clear

Rule Value

Note If you select the View/Field? check box, the additional Select View and Select Field options
become available for the condition. For the purpose of this workshop, leave this check box clear and
use the Rule Value field.
The Rule Value field is a drop-down list with available options you can select. However you can also
enter a different value directly in this field.

7. Click the Right Arrow button to add the new rule to the Custom Row Rules field.

Create Rule Actions


1. Click the New Rule Action button.
2. Verify Field Action radio button option is selected.
3. Enter the following information:
Field

Data

Select Field

PartNum

Setting Styles

Error

4. Click the Right Arrow button to add the new action to the Rule Actions field.
5. Click the New Rule Action button again to add a second action.
6. Verify the Field Action radio button option is selected.

Epicor ERP | 10.0.700

31

Customization Form Wizards

Embedded Customization Course

7. Enter the following information:


Field

Data

Select Field

LineDesc

Setting Styles

Error

8. Click the Right Arrow button to add the second action to the Rule Actions field.
9. Click the Update Code button.
10. Navigate to the Script Editor sheet.
Notice your Excessive Discount row rule displays. Review the code to see how the Rule Wizard automatically
generates the syntax required for this row rule.
11. From the Tools menu, select Test Code.
Verify the Custom Code Compiled Successfully message displays.
12. In the Customization Tools Dialog window, click Save.
The Customization Save Dialog window displays.
13. In the Customization Save Dialog window, in the Name and Description fields, enter XXXRule (where
XXX are your initials).
14. Click Save.
15. When the Customization Comment window displays, click OK.
16. Close the Customization Tools Dialog window and exit Sales Order Entry.

Test the Rules


1. Reopen Sales Order Entry.
2. In the Select Customization window, select XXXRule (where XXX are your initials) and click OK.
3. In Sales Order entry, from the New menu, select New Order.
4. In the Customer field, enter Dalton and press Tab.
5. Navigate to the Lines > Detail sheet.
6. From the New menu, select New Line.
7. In the Part/Rev field, enter DSS-1010 and press Tab.
8. In the Discount% field, enter 5 and press Tab.
You do not see any changes on the form. Remember the rule condition you created requires that the Discount
% field must have a value greater than 5 before the rule activates.
9. In the Discount% field, enter 6 and press Tab.

32

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

The Part/Rev and Description fields turn red. This alerts the user that the Discount % value is most likely
too high.
10. Exit Sales Order Entry.
11. In the Save Confirmation window, select No.

Epicor ERP | 10.0.700

33

Customization Form Wizards

Embedded Customization Course

Image Column Wizard


The Image Column Wizard gives you the ability to add an image column to a selected grid. This column then
displays an image you select.
To use this functionality, first create the column, give it a name and label, and then select the default image that
will display on the grid.
If necessary, you can also create row rules that define when other images display within this column. You can
even set up this column so that it does not have a default image, and then use row rules to populate it with
specific images when certain rule conditions are met. You create these rules using the Rule Wizard.
You can use this functionality to display an image included within the Epicor application. You can also display
your own images through the Resource Editor program. This separate utility is installed as part of the Epicor
application. Use this utility to find, select and add your own images to the Epicor application, which can then
display on your customization by using the Image Column Wizard.
Tip Another wizard is available that guides you through creating an image column and assign rules to it.
This wizard, the Image Column Row Rule Wizard, can be launched from either the Rule Wizard or the
Tools menu. For more information, refer to the application help topic: Image Column Row Rule Wizard

Workshop - Add Image Column


In this workshop, use the Image Column Wizard to create a new rule to display data. This customization can be
performed, for example, in a scenario in which the field service team wants to use a modified version of the sales
order entry summary page to quickly identify the line items in an order whose parts do not currently fall under
warranty.
The following rule creates an image column in the summary sheet's grid view that displays a red exclamation
mark whenever a particular line item is not covered by a warranty.

Use the Wizard to Create a Rule


1. Relaunch Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, click OK.


This begins a new customization with the base form.
3. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.
4. In the Customization Tools Dialog window, select the Wizards > Rule Wizard sheet.
5. Click the Image Column / Row Rule Wizard button.
The Custom Image Column / Row Rule Wizard displays. This wizard contains a series of six steps you
follow to create a new image column and define the rule criteria that indicates when this image displays.

34

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

6. In Step 1, for the Data View, select OrderDtl and click Next.
7. In Step 2, for the Image Column, enter the name XXXImageWizard (where XXX are your initials) and press
Tab.
This values defines the unique identifier for this particular row rule.
Tip Pressing the Tab key is the most efficient way to navigate through this wizard.

8. In the Column Heading text box, enter wty as a column heading and press Tab.
This is the text that displays as the header of the new image column.
9. In the Column Position text box, leave the default 1 and click Next.
This value causes the column to display first on the left side of the grid. Columns are numbered from left
to right.
10. Now in Step 3 for the Default Image, select (None) and click Next.
This defines the image that displays when the conditions of the rule are not met. When None is selected,
you indicate no image displays in this column by default.
11. In Step 4 for the Row Rule Description, enter noWarranty as a description for the new rule and press
Tab.
The Data View field displays the database table monitored by the row rule. For this workshop, keep the
OrderDtl in this field. However notice you can select a different table using this field.
12. From the Field drop-down list, select WarrantyCode.
13. Click Next.
14. In Step 5, in the Select Condition for field: field, select Equals.
15. Leave the View/Field? check box clear.
16. In the Enter or Select a Rule Value: section, click the Select radio button then select the Constant:
NullValue option.
17. Click Next.
18. In Step 6, notice the DataView and Image Column names display. Select the image you want to appear
when the row rule conditions are met. The current images available in the Epicor application display on this
drop-down list; select POFolderChecked and click Finish.
19. In the Customization Tools Dialog window, click Save.
The Customization Save Dialog window displays.
20. For the Name and Description field, enter XXXWarrantyCode (where XXX are your initials) and click
Save.
21. In the Customization Comment window, click OK.
22. Close the Customization Tools Dialog window and exit Sales Order Entry.

Epicor ERP | 10.0.700

35

Customization Form Wizards

Embedded Customization Course

Test the Rule


1. Launch Sales Order Entry again.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXWarrantyCode (where XXX are your initials) and click
OK.
3. From the New menu, select New Order.
4. In the Customer field, enter Dalton and press Tab.
5. Navigate to the Lines > Detail sheet.
6. From the New menu, select New Line.
7. In the Part/Rev field, enter 4600-1 and press Tab.
Notice this part is covered by warranty.
8. In the Order Quantity field, enter 1.
9. From the New menu, select New Line to enter a second line.
10. In the Part/Rev field, enter DCD-200-ML and press Tab.
Notice this part is not covered by warranty.
11. In the Order Quantity field, enter 1.
12. Navigate to the Summary sheet and view the grid in the lower portion of the sheet.
Notice the wty column displays an exclamation mark for the part that is not covered by warranty.
13. Exit Sales Order Entry.
14. In the Save Confirmation window, select No.
15. To the Order has direct releases without a job link, return to order? message, click No.

36

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

Sheet Wizard
Use the Sheet Wizard to add a custom sheet to the current program.
This wizard additionally has the controls you need to edit a custom sheets tab or text properties. You can also
add a dashboard directly onto your new sheet. Dashboards are powerful tools that provide easy access to critical
real-time data. For more information about these data viewing tools, refer to the application help topic: Dashboard
Much like ships dock in a home port, each sheet can also be attached, or docked, to a parent sheet. On the
program interface, this causes the sheet to display as a sub-sheet under the parent sheet. You can also let custom
sheets become docking sheets (parent sheets) for other custom sheets. To do this, select the Docking Sheet
check box.

Workshop - Use the Sheet Wizard


In this workshop, use the Sheet Wizard to add a custom sheet to Part Maintenance. Also review what you learned
earlier by adding labels and textboxes to the new sheet for height, width, and length.

Create a Sheet
Navigate to Part Maintenance.
Menu Path: Sales Management > Order Management > Setup > Part
Tip The CRM menu path is: Customer Relationship Management > Order Management > Setup > Part

1. In the Select Customization window, click OK.


This begins a new customization with the base form.
2. From the Tools menu, select Customization.
3. In the Customization Tools Dialog window, select Wizards > Sheet Wizard.
4. Click the New Custom Sheet button.
5. In the Dockable Sheets field, select mainPanel1.
6. In the Name, Text, and Tab Text fields, enter XXX Part Info (where XXX are your initials).
7. Click the Right Arrow button to add the new custom sheet to the Custom Sheets field.
8. Click Save.
The Customization Save Dialog window displays.
9. In the Customization Save Dialog window, in the Name and Description field, enter XXXPartInfo
(where XXX are you initials).
10. Click Save
11. In the Customization Comment window, click OK.
12. Close the Customization Tools Dialog window.

Epicor ERP | 10.0.700

37

Customization Form Wizards

Embedded Customization Course

13. Verify XXX Part Info (where XXX are you initials) displays as a new blank sheet on the form.

Add a Label and a NumericEditor Field


1. From the Tools menu, select Customization.
2. Navigate to the XXX Part Info sheet (where XXX are your initials).
3. In the Customization Tools Dialog window, from the Tools menu, select ToolBox.
4. From the Toolbox, select EpiLabel and add it to the XXX Part Info sheet (where XXX are your initials).
5. Click the label and on the Customization Tools Dialog window, in the Text field, enter Unit Net Weight.
6. From the Toolbox select EpiNumericEditor and drag a new field next to the label.
Use the EpiNumericEditor tool to create numeric fields. Available formats for a numeric field are integer,
decimal, and double. Each displays a unique Mask Input value in the Behavior Properties section.
7. Set the following properties for the EpiNumericEditorC1 field:
Field

Data

Numeric Type

Decimal

EpiBinding

Part.NetWeight

EpiLabel

epiLabelC1

Size

120,20

8. Click Save.
9. In the Customization Comment window, click OK.
10. Close the Customization Tools Dialog window and Exit Part Maintenance.

Test the New Sheet


1. Relaunch Part Maintenance
Menu Path: Sales Management > Order Management > Setup > Part
Tip The CRM menu path is: Customer Relationship Management > Order Management > Setup >
Part

2. In the Select Customization window, select XXXPartInfo (where XXX are your initials) and click OK.
3. In the Part field, enter DCD-200-ML and press Tab.
4. On the Part > Detail sheet, view the Unit Net Weight field and record the value.
5. Navigate to the XXX Part Info (where XXX are your initials) sheet.
The new field, Unit Net Weight, displays the same number as the one on the Part > Detail sheet.

38

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

6. Exit Part Maintenance.

Epicor ERP | 10.0.700

39

Customization Form Wizards

Embedded Customization Course

Form Event Wizard


Use the Form Event Wizard to enter code that activates when specific events occur on a form.
These events include:
BeforeRowChange - This event is called when users change rows on a grid. It is not used when a grid is first
displayed.
AfterRowChange - This event is called after a row is changed on a grid. It does not activate if the grid only
contains one row. This event must be used in combination with the ListChanged event described below.
BeforeFieldChange - This event is called before a user leaves a field that is linked, or bound to a data table.
Use this event to validate the value of a field; if this value is not valid, you can then prevent the user from
leaving the field until a correct value is entered.
AfterFieldChange - This event is called after a user leaves a field that is linked, or bound, to a data table.
This event allows you to call to another adapter and fill in the resulting data, like validating a part, populating
Description fields, and so on.
ListChanged - This event is useful when a grid only contains one row. Use this event in combination with
the AfterRowChange event to run a custom event.
Retrieve - This event is called when a user clicks the Retrieve button found throughout the interface, retrieving
data from the database. This button is typically found on trackers. This event is useful for custom code that
refreshes data displayed on one panel only.
Load - This event is called when a program starts. Use this event when you want code to run during the UI
Form_Load() method, but after the InitilizeCustomCode() method is run.
Closing - This event is called when a program is closed. Use this event for custom code that cleans up variables
in the data.
EpiViewNotification - This event is called just after a data view is loaded into a program. It lets users know
that this data is ready to be viewed and edited. Use this event frequently, as it allows you to enter custom
code for the GetNew method and create unique IDs in user-defined (UD) table.
BeforeAdapterMethod - This method listens before a call to a business object event occurs. When it detects
an event, it initializes your custom code. It allows you to create customizations that run just before an event
launches, display message boxes, automatically display search programs, validate data, and so on. You can
also use this method to cancel the business object call event before it runs.
AfterAdapterMethod - This method listens after a call to a business object event occurs. When it detects
an event, it initializes your custom code. It allows you to create customizations that populate fields, validate
data, update external tools, and so on.
BeforeToolClick - This event is fired from the EpiBaseForm before the framework processes the Infragistics
Toolbar click event. This event can be used to bypass and suppress the base ToolClick behavior.
OnBeforeToolClick handler exposes a BeforeToolClickEventArgs and the consumer of the event can set
args.Handled=true to bypass base click behavior.
ToolClick - This event occurs when the framework processes the Infragistics Toolbar click event. Use this
event to add code that runs when a user selects a specific menu item. This event implements the handler
directly against the Infragistics Toolbars manager. When fired, both the base package ToolClick event handler
and the custom ToolClick handler will be invoked.
BeforeToolDropdown - This event launches after a primary menu item is selected and the sub-menu items
appear. Use this form event to enter code that modifies when certain sub-menu items are visible.
You link the event and the code to a specific row, field, or form. When a user performs a customized event, this
special code automatically runs.
Example You want to control when new part numbers are created. You define a Form Event that launches
after the Part ID field is changed. The Epicor application makes sure that the Part ID exists before the user

40

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

is allowed to enter more data on the sheet. If the Part ID exists, the rest of the form's fields activate; if it
does not exist, the fields cannot be accessed.

Workshop - Add a Simple Form Event


In this workshop, use the Form Event Wizard to warn the sales order entry person that the Need By Date exceeds
one year.

Use the Form Event Wizard


1. Navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, click OK.


This begins a new customization with the base form.
3. From the Tools menu, select Customization.
4. In the Customization Tools Dialog window, select the Script Editor sheet. Verify the C# option is selected.
5. Navigate to the Wizards > Form Event Wizard sheet.
6. In the Select Event Type field, select BeforeFieldChange.
7. In the Tables field, select OrderDtl.
8. In the Fields field, select NeedByDate.
9. Click the Right Arrow button to add the event to the Select New/Existing Event Handler field.
10. Click Update Selected Event Code.
11. Click Save.
The Customization Save Dialog window displays.
12. In the Customization Save Dialog window, in the Name and Description fields, enter XXXFormEvt
(where XXX are you initials) and click Save.
13. In the Customization Comment window, click OK.

Enter the Code


1. Navigate to the Script Editor sheet.
2. Beneath the Case "NeedByDate" line, copy and paste this code:
case "NeedByDate":
DateTime dtNeedByDate;
if (args.ProposedValue!=null)

Epicor ERP | 10.0.700

41

Customization Form Wizards

Embedded Customization Course

{
dtNeedByDate = Convert.ToDateTime(args.ProposedValue);
if (dtNeedByDate > System.DateTime.Today.AddDays(365))
{
MessageBox.Show("Need By Date exceeds one year. Ente
r a valid Need By Date");
}
}
break;
3. From the Tools menu, select Test Code and verify the Custom Code Compiled Successfully message
displays.
4. Click Save.
5. In the Customization Comment window, click OK.
6. Close the Customization Tools Dialog window and exit Sales Order Entry.

Test the Customization


1. Relaunch Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXFormEvt (where XXX are your initials) and click OK.
3. From the New menu, select New Order.
4. In the Customer field, enter Dalton and press Tab.
5. Navigate to the Lines > Detail sheet.
6. From the New menu, select New Line.
7. In the Part/Rev field, enter DSS-1010 and press Tab.
8. In the Need By field, enter today's date.
No warning messages display.
9. Change the Need By date to be more than a year in the future from today.
The Need By Date exceeds one year. Enter a valid Need By Date message displays.
10. To the message, click OK.
11. Exit Sales Order Entry.
12. In the Save Confirmation window, select No.

42

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

Workshop - Add a Complex Form Event


In this workshop, use the Form Event Wizard to warn the entry person that the part number entered is more
than 20 characters.

Use the Form Event Wizard


1. Navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXFormEvt (where XXX are you initials).
3. In the Default Customization Programming Language section, select the Visual Basic option and click
OK.
4. From Tools menu, select Customization.
5. In the Customization Tools Dialog window, navigate to the Wizards > Form Event Wizard sheet.
6. In the Select Event Type field, select BeforeFieldChange.
7. In the Tables field, select OrderDtl.
8. In the Fields field, select PartNum.
9. Click the Right Arrow button to add the event to the Select New / Existing event Handler field.
10. Click Update Selected Event Code.

Enter the Code


1. Navigate to the Script Editor sheet.
2. Maximize the Customization Tools Dialog window for convenience.
3. Beneath the Case "PartNum" line, copy and paste this code:
case "PartNum":
string message = "The part number exceeds 20 characters. Ca
ncel this operation?";
string caption = "Part Number Length";
System.Windows.Forms.MessageBoxButtons buttons = MessageBox
Buttons.YesNo;
DialogResult result=DialogResult.Cancel;
if (args.ProposedValue.ToString().Length > 20)
{
result = MessageBox.Show(message,caption,MessageBoxButto
ns.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1,MessageBox
Options.RightAlign);
}
if (result == DialogResult.Yes)
{

Epicor ERP | 10.0.700

43

Customization Form Wizards

Embedded Customization Course

oTrans.Undo();
throw new UIException();
}
break;
4. From the Tools menu, select Test Code and verify the Custom Code Compiled Successfully message
displays.
5. Click Save.
6. In the Customization Comment window, click OK.
7. Close the Customization Tools Dialog window and exit Sales Order Entry.

Test the Customization


Navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry
1. In the Select Customization window, select XXXFormEvt (where XXX are your initials) and click OK.
2. From the New menu, select New Order.
3. In the Customer field, enter Dalton and press Tab.
4. Navigate to the Lines > Detail sheet.
5. From the New menu, select New Line.
6. In the Part/Rev field, enter DSS-1010 and press Tab.
No warning messages displays.
7. In the Part/Rev field, type more than 20 characters of your choice and press Tab.
The The part number entered exceeds 20 characters. Cancel this operation? message displays.
8. To the message, click Yes.
9. Exit Sales Order Entry.

44

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

Event Wizard
The Event Wizard links code to your custom controls.
Before you can use this wizard, you need to add one or more custom controls to the current form. You add
controls by using the Toolbox.
The events you can create for your custom controls are nearly endless. You can create code that launches a third
party application, plays sound files, displays a message box, runs a calculation on your data.

Workshop - Add Event to a Button


In this workshop, add a custom button to Customer Maintenance and use the Event Wizard to add an event to
the button to access the customer's web site.

Create a Customization
1. Navigate to Customer Maintenance.
Menu Path: Sales Management > Order Management > Setup > Customer
Tip The CRM menu path is: Customer Relationship Management > Order Management > Setup >
Customer

2. In the Select Customization window, click OK.


This begins a new customization with the base form.
3. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.
4. In Customer Maintenance, navigate to the Customer > Detail sheet.
5. Locate the group box that contains the Phone, Fax, Email, and Website fields. Expand this group box so
you can place a button below the Website field.
6. From the Tools menu, select Toolbox.
7. In the Toolbox, select epiButton and add it below the Website field.
8. If the Select Layer Type window displays, select Customization and click OK.
9. Resize the new button so it can display text.
10. Return to the Properties sheet. Change the Text property for the button to Go To Website.
11. Click Save.
The Customization Save Dialog window displays.
12. In the Name and Description fields, enter XXXButton (where XXX are your initials), and click Save.
13. In the Customization Comment window, click OK.

Epicor ERP | 10.0.700

45

Customization Form Wizards

Embedded Customization Course

Use the Event Wizard


1. In the Customization Tools Dialog window, navigate to the Wizards > Event Wizard sheet.
2. In the Control Type Filter field, select EpiButton.
3. In the Custom Control field, select epiButtonC1.
This is the name of the button you added.
4. In the Available Control Events field, select Click.
Note Although events are limited for a button, each control has its own events associated with it.
An ultracombo, for example, can have drop-down events and check box controls can have a check
changed event.

5. Click the Right Arrow button to add the event.


6. Click Update Selected Event Code.
7. In the Customization Tools Dialog window, navigate to the Script Editor sheet.
8. Maximize the Customization Tools Dialog window so you can see more of the Script Editor.
9. Beneath the ** Place Event Handling Code Here ** line, copy and paste this code:
string customerURL="";
//create a customer data view to work with
EpiDataView workDataView = (EpiDataView)oTrans.EpiDataViews["Custom
er"];
//make sure a customer record is loaded
if (workDataView.dataView.Count > 0 && workDataView.Row >=0)
{
if (workDataView.dataView[workDataView.Row]["CustURL"].ToString(
)!="")
{
//get the value of the CustURL column
customerURL=workDataView.dataView[workDataView.Row]["CustURL
"].ToString();
//misc checking of URL
if (!customerURL.StartsWith("http://"))
{
customerURL = "http://"+customerURL;
}
if (customerURL.EndsWith("exe")||customerURL.EndsWith(".js")
||customerURL.EndsWith(".vbs"))
{
//quit if URL has obvious bad implications
return;
}
try
{
//launch URL in default browser
System.Diagnostics.Process.Start(customerURL);
}
catch
(
System.ComponentModel.Win32Exception noBrowser)

46

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

{
if (noBrowser.ErrorCode==-2147467259)
MessageBox.Show(noBrowser.Message);
}
catch (System.Exception other)
{
MessageBox.Show(other.Message);
}
}
}
Important You can add the code using the Control Event Code field. However to access all the code
for the form, you should use the Script Editor.
Note The code sample above depends on file associations on the client computer. For example, an
.html file may be associated with an HTML editor and not a browser.

10. From the Tools menu, select Test Code and verify the Custom Code Compiled Successfully message
displays.
11. Click Save.
12. In the Customization Comment window, click OK.
13. Close the Customization Tools Dialog window and exit Customer Maintenance.

Test the Customization


1. Relaunch Customer Maintenance.
Menu Path: Sales Management > Order Management > Setup > Customer
Tip The CRM menu path is: Customer Relationship Management > Order Management > Setup >
Customer

2. In the Select Customization window, select XXXButton (where XXX are your initials) and click OK.
3. In the Customer field, find and select a customer record.
4. If the Website field is blank, enter a website address of your choice. For example: www.epicor.com
5. Click the Go To Website button.
Your internet browser launches the website specified. You may have to click the browser in the task bar to
give it focus.
6. Exit your internet browser and Customer Maintenance.
7. In the Save Confirmation window, click No.

Epicor ERP | 10.0.700

47

Customization Form Wizards

Embedded Customization Course

Workshop - Add an Event to an UltraGrid


In this workshop, use the Event Wizard to add special events to the UltraGrid you added to Sales Order Entry
earlier. These events enable entry through the grid (line release information).
Important To complete this workshop, you must first complete Workshop - Add an UltraGrid Control.

Use the Event Wizard


1. Navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXNewHeader (where XXX are your initials) and click OK.
3. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.
4. In Sales Order Entry, navigate to the Summary sheet where you placed the custom Releases grid.
5. In the Customization Tools Dialog window, navigate to the Wizards > Event Wizard sheet.
6. In the Control Type Filter field, select EpiUltraGrid.
7. In the Custom Control field, select EpiUltraGridC1 (this is the name of the Releases grid).
8. Select the Data Entry Grid? check box.
9. In the Available GetNew Method field, select GetNewOrderRel.
The Available GetNew Method displays the GetNew methods for the tables in this dataset.
10. Click the Right Arrow button to add the code.
11. Click Update All Event Code to add the script.
12. Navigate to the Script Editor sheet.
Review the code the Event Wizard added for the epiUltraGridC1 control. Notice it added three events:
BeforeRowInsert
BeforeRowsDeleted
KeyDown
13. From the Tools menu, select Test Code and verify the Custom Code Compiled Successfully message
displays.
14. In the Customization Tools Dialog window, click Save.
15. In the Customization Comment window, click OK.

48

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Form Wizards

16. Close the Customization Tools Dialog window and Exit Sales Order Entry.

Epicor ERP | 10.0.700

49

Customization Form Wizards

Embedded Customization Course

Test the Customization


1. Relaunch Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXNewHeader (where XXX are your initials) and click OK.
3. In the Sales Order field, enter 5040 and press Tab.
Notice the Releases grid populates with release lines.
4. Select the last release, place your cursor at the very end of the line and press Enter.
A new release line is created and you can enter data into the available fields. You can continue to add as
many order release lines as you need.
5. Exit Sales Order Entry.
6. In the Save Confirmation window, click No.
7. If the Order has direct releases without a job link, return to order? message appears, click No.

50

Epicor ERP | 10.0.700

Embedded Customization Course

Foreign Key View

Foreign Key View


A foreign key is a link to a separate, or foreign, table that contains logically similar data. Use foreign keys to link
these related tables so information you need displays. You can display foreign key views on customized sheets
and in dashboards.
You can create foreign key views for a Query Result or Data View that has a field that searches by its record
(GetByID) identifier. You can then create a view based on this field's value.
An extensive number of combinations of tables are available. You can first create one view and then link another
sub-view to this view, another sub-view to this sub-view and so on. As long as you can establish a logical connection
between the Parent and Child columns, you can display data through a combination of views.
This customization tool links fields in separate, but related tables. Fields that link to foreign key fields in other
tables must share the Like property. The Like property defines which foreign keys can link to the selected field.
Tip After you create a foreign key view, you can use the features on the Custom Column Like sheet to
add the Like property to a specific field. For more information, refer to application help topic: Custom
Column Like
You can also customize how the data appears within the grid through Row Rules. You can highlight a
column, bold a column's text, and make some columns invisible. For more information, refer to application
help topic: Rule Wizard

Workshop - Create a Foreign Key


In this workshop, add a foreign key to display information from the part table in Sales Order Entry. Also review
what you learned earlier by creating a custom sheet and adding labels and textboxes to the new sheet. For this
workshop, verify Developer Mode is always on.
Note To complete this workshop, you must first complete the Workshop - Use the Sheet Wizard.

Create a Custom Sheet


1. Navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, click OK.


This begins a new customization with the base form.
3. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.
4. In the Customization Tools Dialog window, navigate to the Wizards > Sheet Wizard sheet.

Epicor ERP | 10.0.700

51

Foreign Key View

Embedded Customization Course

5. Click New Custom Sheet.


6. In the Dockable Sheets field, select SheetLinePanel1.
7. In the Name, Text, and Tab Text fields, enter XXXPart Info (where XXX are your initials).
8. Click the Right Arrow button to add the new custom sheet.
9. Click Save.
The Customization Save Dialog window displays.
10. In the Customization Save Dialog window, in the Name and Description fields, enter XXXForeignK
(where XXX are your initials) and click Save.
11. In the Customization Comment window, click OK.

Link a Sheet to Part Data


1. In the Customization Tools Dialog window, from the Tools menu, select Data Tools.
The Custom Data Dialog window displays.
2. On the Foreign Key View sheet, click the New Custom View button.
3. In the View Name field, enter XXX Part Info (where XXX are your initials).
4. In the Parent View Name field, select OrderDtl.
5. In the Column Name field, select PartNum.
6. Accept the defaults populated in the remaining fields. Click the Add button.
The Foreign Key View Succeeded message displays.
7. To the message, click OK.
8. In the Custom Data Dialog window, click OK.
9. In the Customization Tools Dialog window, click Save.
10. In the Customization Comment window, click OK.

52

Epicor ERP | 10.0.700

Embedded Customization Course

Foreign Key View

Create a Textbox and a Label


1. From the Tools menu, select ToolBox.
2. In Sales Order Entry, navigate to the new sheet, Lines > XXX Part Info (where XXX are your initials).
3. Add an EpiLabel and EpiNumericEditor to the new sheet.
Tip Follow the steps in Workshop - Add a Textbox and Workshop - Add a Label and Bind it to
the TextBox to link the EpiLabel to the EpiNumericEditor. Be sure you size the EpiNumericEditor to
use 120, 20 dimensions.

4. Click the EpiLabel; in the Text property field, enter Net Weight.
5. Click the EpiNumericEditor. In the EpiBinding property, select XXX PartInfo > NetWeight (where XXX
are your initials).
6. In the Numeric Type property, select Decimal.
7. In the MaskInput property, enter nn,nnn.nnn.
8. Clear the Value field.
9. Click Save.
10. In the Customization Comment window, click OK.
11. Close the Customization Tools Dialog window and exit Sales Order Entry.

Create a Part
1. Navigate to Part Maintenance
Menu Path: Sales Management > Order Management > Setup > Part
Tip The CRM menu path is: Customer Relationship Management > Order Management > Setup >
Part

2. In the Select Customization window, select XXXPartInfo (where XXX are your initials) and click OK.
3. From the New menu, select New Part.
4. In the Part and Description fields, enter XXXPart (where XXX are your initials).
5. In the Unit Net Weight field, enter a weight value of your choice.
6. Click Save and Exit Part Maintenance.

Epicor ERP | 10.0.700

53

Foreign Key View

Embedded Customization Course

Test the Customization


1. Navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry

2. In the Select Customization window, select XXXForeignK (where XXX are your initials) and click OK.
3. From the New menu, select New Order.
4. In the Customer field, enter Dalton and press Tab.
5. Navigate to the Lines > Detail sheet.
6. From the New menu, select New Line.
7. In the Part/Rev field, enter XXXPart (where XXX are your initials) and press Tab.
This is the part you created in the previous section of this workshop.
8. Navigate to the Lines > XXX Part Info sheet (where XXX are your initials) and verify that the net weight
displays for the item.
9. Exit Sales Order Entry.
10. In the Save Confirmation window, select No.

54

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Deployment

Customization Deployment
You make customizations available to users through Menu Maintenance. Using this program, you enable a
customization so it displays on the Main Menu.
Note that customizations saved with the Work in Process (WIP) status do not display in this program. The
application considers these customizations still in development, and so you cannot select them in Menu
Maintenance. For more information on the WIP status, refer to application help topic: Save Customization
Important To access Menu Maintenance, you must have System Supervisor rights. For more information,
refer to application help topic: User Account Security Maintenance

Menu Maintenance
Use Menu Maintenance to customize the Menu tile interface and the Mobile Menu interface within your Epicor
application. You can select customized programs, reports, dashboards, and sub-process programs and make
them available to users within your company.
The changes you make within Menu Maintenance display on the workstations and mobile devices that run the
Epicor application within your environment. Use Menu Maintenance to replace a current program with a customized
program. You can also add menu items for custom programs and custom reports. If you customize a sub-process
program like Memo Entry or the Part Transaction Log, you also define how users access this process through this
program.
For Menu programs, you add or update an icon on the Menu and then select the customization layer you want
to display. For sub-process programs, you add the customized sub-process program to the Process node in Menu
Maintenance and then activate the customized program through Process Calling Maintenance; review the
Sub Program Deployment topics in the application help for more information.
Tip You can only use this program if you can create and modify customizations. To learn on how to get
customization rights and use this functionality, refer to the User Account Maintenance - Security application
help topic.
Menu Path
Navigate to this program from the Main Menu:
ICE External > Security > Menu Maintenance
System Setup > Security Maintenance > Menu Maintenance
System Setup > System Maintenance > Menu Maintenance
Important This program is not available in the Epicor Web Access.

Workshop - Deploy the Customization


In this workshop, add one of the customizations created in an earlier workshop to the Order Entry menu item.
Also, create a new menu entry for Order Entry to deploy a different customization.
If in Developer Mode from the previous workshops, disable Developer Mode from the Options menu on the
Main menu.

Epicor ERP | 10.0.700

55

Customization Deployment

Embedded Customization Course

Select the Customization


First you need to turn off Developer Mode, then you navigate to Menu Maintenance.
1. You first need to shut off Developer Mode. Click the Home button. Once the Home screen displays, click
the Settings tile.
The Settings screen displays.
2. Verify the General Options tile is selected in the tree view. Click Developer Mode to clear the check mark
next to this option.
3. Click the Home button again. Once the Home screen displays, click the Menu tile.
The Menu screen displays.
4. Navigate to Menu Maintenance.
Menu Path: System Setup > System Maintenance > Menu Maintenance
Important This program is not available in the Epicor Web Access.

5. In Menu Maintenance, in the tree view, select Sales Management > Order Management > General
Operations > Order Entry.
6. Navigate to the Detail sheet.
7. In the Program section, in the Customization field, select one of your customizations, for example
XXXNewHeader (where XXX are your initials).
8. Click Save.
9. If the Security Settings window displays, click OK.
10. Exit Menu Maintenance.
11. To see the deployed customization, you must log out of the application and then log back in. Click the
Home button and then the Settings tile. Select Change User.
12. Log into the application using the credentials manager/manager.
13. Now click on the Menu tile and navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry
Verify the customizations you made to Sales Order Entry display.
14. Exit Sales Order Entry.

56

Epicor ERP | 10.0.700

Embedded Customization Course

Customization Deployment

Deactivate the Customization


This workshop illustrates how you remove a customization so it no longer displays during runtime. Use this feature
to remove customizations you no longer want your users to access.
1. Navigate to Menu Maintenance.
Menu Path: System Setup > System Maintenance > Menu Maintenance
Important This program is not available in the Epicor Web Access.

2. In Menu Maintenance, in the tree view, select Sales Management > Order Management > General
Operations > Order Entry.
3. Navigate to the Detail sheet.
4. In the Customization field, delete the selected value.
This removes your customization from Sales Order Entry, but the customization itself is not deleted and is
still available to select later.
5. Click Save.
6. If the Security Settings window displays, click OK.
7. Exit Menu Maintenance.
8. Click the Home button and the Settings tile. Select Change User.
9. Log into the application using the credentials manager/manager.
10. Click the Menu tile and navigate to Sales Order Entry.
Menu Path: Sales Management > Order Management > General Operations > Order Entry
Tip The CRM menu path is: Customer Relationship Management > Order Management > General
Operations > Order Entry
Verify your customization no longer displays.
11. Exit Sales Order Entry.

Epicor ERP | 10.0.700

57

User Defined Tables

Embedded Customization Course

User Defined Tables


As part of the database, the Epicor application contains a series of User Defined Tables. Use these special tables
to customize the database so you can enter data unique to your company. You first add these tables directly to
the interface, customize them to define the data, and then enter your unique records.
This data can then be pulled into other programs. To do this, add a custom control, the UltraCombo, to a form.
This control is a drop down list. You bind the UltraCombo to the retriever adapter on the user defined table.
After you save this customization, users access this control to select and navigate through the data entered on
this user defined table.
Note User defined tables do not display on the out-of-box menu in the Epicor application. To customize
and deploy user defined tables, you must first add a reference to the table to the existing menu. The
Workshop - User Defined Tables and Workshop - Create a Drop Down Menu demonstrate how to
add this table to the Menu, as well as how to perform a simple customization of the table.
Standalone User-Defined Tables
Forty standalone user defined tables are available in the Epicor application. Each table has five primary keys. The
Retriever Adapter allows you to bind Key 1 to an UltraCombo element. Because of this, use Key 1 as the
primary view for each user defined table.
Tip You can use the other keys for additional data, or hide them from view.

Parent/Child User-Defined Tables


Eleven parent/child user defined tables are available in the Epicor application. These tables have the same basic
functionality as the standalone tables, but they contain additional functionality so you can create parent/child
data relationships.
Labeled as UD100 to UD110, these user defined tables are made up of two tables, a Parent table and a Child
table. UD100, for example, has the parent UD100 table and a child table, UD100A. The UD100A table holds the
child data to its parent table. Each parent and child table has five main keys for the data you want users to enter.
You can add other elements if necessary.

58

Epicor ERP | 10.0.700

Embedded Customization Course

User Defined Tables

Workshop - User Defined Tables


In this workshop, create a new menu item to access a user defined table. Then, customize the table to handle
maintenance type data for shipping containers.

Modify the Current Menu


1. Navigate to Menu Maintenance.
Menu Path: System Setup > System Maintenance > Menu Maintenance
Important This program is not available in the Epicor Web Access.

2. Using the tree view, navigate to Material Management > Shipping/Receiving > Setup.
3. In the tree view, place your cursor on the Setup node.
To add a new menu item to a folder, the cursor must be at the folder level of the tree structure when you
click the New icon.
4. From the New menu, select New Menu.
5. In the Menu ID field, enter UDCMPXXX (where XXX are your initials).
To identify this as a user defined table, the Epicor application provides a UD prefix; do not change this prefix.
6. In the Name field, enter XXX Container Maintenance (where XXX are your initials).
7. In the Security ID field, enter SEC000.
This value is the general security ID.
8. Keep the default values for Parent Menu ID and Order Sequence.
9. Verify the Enabled check box is selected.
10. In the Program Type, accept the default of Menu item.
11. In the Icon field, select Maintenance.
12. Click Program, search for the user-defined table, Ice.UI.UD01Entry.dll and click Open.
This is the program file that supplies the functionality behind the user-defined table.
13. Click Save.
Tip If you are not allowed to save the record due to the Duplicate Order Sequence for this parent
menu ID, in the Order Sequence field, enter a number and click Save.

14. If the Security Settings window displays, click OK.


15. Exit Menu Maintenance.

Epicor ERP | 10.0.700

59

User Defined Tables

Embedded Customization Course

16. To see the deployed customization, you must log out of the application and then log back in. Click the
Home button and then the Settings tile. Select Change User.
17. Log into the application using the credentials manager/manager.
18. Click the Menu tile and navigate to Material Management > Shipping / Receiving > Setup.
The new XXX Container Maintenance (where XXX are your initials) menu item displays. During the next
workshop, you will launch the program in Developer Mode and start customizing it.

Switch to Developer Mode


1. Return to the Home window and click the Settings tile.
2. Verify the General Options node is highlighted on the tree view. Select the Developer Mode option.
3. Return to the Home window and click the Menu tile.
4. Navigate to the new menu item XXX Container Maintenance (where XXX are your initials).
Menu Path: Material Management > Shipping/Receiving > Setup > XXX Container Maintenance
5. In the Select Customization window, click OK.
This begins a new customization with the base form.
6. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.

Design the Table Interface


1. In UD01 Maintenance, navigate to the Detail sheet.
2. For this customization, you only need the Key1 field. Click the Key 2 text box and drag it off the form until
it disappears. Remove the Key3, Key4, and Key5 text boxes in the same way.
3. Click the Description field and drag it just below the Key 1 field.
4. Select the Key1 label .
5. Return to the Properties sheet. Change the Text property for the label to Container ID:.
6. From the Tools menu, select Toolbox.
7. In the ToolBox, select EpiTextBox.
8. Click inside the form.
The Select Layer Type window displays.
9. In the Select Layer Type window, select Customization and click OK.
10. Click and drag the epiTextBoxC1 below the Description text box.

60

Epicor ERP | 10.0.700

Embedded Customization Course

User Defined Tables

11. Return to the Properties sheet. Click the Text value.


12. Click the EpiBinding drop-down list and select UD01 > ShortChar01.
13. For the Size property, enter the 120, 20 value.
14. Add an EpiLabel to the text box, change the Text property to Weight:, and bind the label to the text box.
15. In the Customization Tools Dialog window, click Save.
The Customization Save Dialog window displays.
16. In the Customization Save Dialog window, in the Name and Description fields, enter XXXContainer
(where XXX are your initials) and click Save.
17. In the Customization Comment window, click OK.
18. Close the Customization Tools Dialog window and exit XXX Container Maintenance (where XXX are your
initials).

Test the New Form


1. Relaunch XXX Container Maintenance (where XXX are your initials).
Menu Path: Material Management > Shipping/Receiving > Setup > XXX Container Maintenance
2. In the Select Customization window, select XXXContainer (where XXX are your initials) and click OK.
3. Click New.
4. In the Container ID field, enter CTN1.
5. In the Description field, enter Container 1.
6. In the Weight field, enter 10.
7. Click Save.
8. Repeat steps 2-6 to add the following records:
Container ID

Description

Weight

CTN2

Container 2

20

CTN3

Container 3

30

9. Click the Clear icon.


10. Click Search.
The Search Form window displays.
11. Click Search.
12. Click Select All and click OK.

Epicor ERP | 10.0.700

61

User Defined Tables

Embedded Customization Course

Three containers display in the tree and list views.


Note Further customization can be performed on the List sheet to ensure that the unused columns
from the UD01 table do not display and that the proper headings display.

13.
Remain in XXX Container Maintenance (Where XXX are your initials). During the next exercise, you will continue
to customize this form.

Customize the List View and Title Bar


1. From the Tools menu, select Customization.
2. In the UD01 Maintenance window, select the List sheet and click on the grid in the middle of the sheet.
This displays the properties for the grid view in the Customization Tools Dialog window.
3. locate the Layout > Columns field; click the down arrow.
The Columns Properties window displays.
4. Click the Toggle Hidden button.
The all the columns in the List grid no longer display.
5. Now in the Hidden column, clear Key1, Character01, and ShortChar01.
6. Next in the Caption column, change the Caption properties for the three columns to the following:
Cleared Field

Change To

Key1

Container ID

Character01

Description

ShortChar01

Weight

7. Click the UD01 Maintenance window and review the changes on the list.
Clicking this window refreshes the interface to display your selections.
8. In the Customization Tools Dialog window, in the tree view, select UD01Form.
9. Change the Text property to Container Maintenance.
Notice the title bar now displays as Container Maintenance.
10. Likewise in the tree view, select the mainPanel1 node. Change this item's Text property to Container
Maintenance.
The bar over the Detail and List sheets now displays Container Maintenance.
11. In the Customization Tools Dialog window, click Save.
12. In the Customization Comments window, click OK.
13. Close the Customization Tools Dialog window and exit Container Maintenance.

62

Epicor ERP | 10.0.700

Embedded Customization Course

User Defined Tables

Deploy the Customized Table


1. You first need to shut off Developer Mode. Click the Home button. Once the Home screen displays, click
the Settings tile.
The Settings screen displays.
2. Verify the General Options tile is selected in the tree view. Click Developer Mode to clear the check mark
next to this option.
3. Click the Home button again. Once the Home screen displays, click the Menu tile.
The Menu screen displays.
4. Navigate to Menu Maintenance.
Menu Path: System Setup > System Maintenance > Menu Maintenance
Important This program is not available in the Epicor Web Access.

5. Using the tree view, navigate to Material Management > Shipping/Receiving > Setup > XXX Container
Maintenance (where XXX are your initials).
6. Navigate to the Detail sheet.
7. In the Customization field, select XXXContainer (where XXX are your initials).
8. Click Save.
9. If the Security Settings window displays, click OK.
10. Exit Menu Maintenance.
11. To see the deployed customization, you must log out of the application and then log back in. Click the
Home button and the Settings tile. Select Change User.
12. Log into the application using the credentials manager/manager.
13. Click the Menu tile and navigate to XXX Container Maintenance (where XXX are your initials).
Menu Path: Material Management > Shipping/Receiving > Setup > XXX Container Maintenance
Review your customization. Click on the different sheets and add, update, and delete records.
14. Exit Container Maintenance.

Epicor ERP | 10.0.700

63

User Defined Tables

Embedded Customization Course

Workshop - Create a Drop Down Menu


In this workshop, create a drop down menu in Customer Shipment Entry that displays the data from the Container
Maintenance table.

Add an Extended UD Table


If you need additional columns for your customization, you create them using Extended User Defined Table
Maintenance.
Through this program, you find and select an existing database table. You then create the extended user-defined
(_UD) table; this extension links to the existing table. You can then add the custom columns to it that you need.
For this workshop, you need to add a custom Character01 column to the ShipDtl table. You can then link this
Character01 column to the same column in the existing user-defined table. This column is UD01.Character01,
the column that holds the Description values you entered for your containers in the previous workshop.
Note Do not confuse the standalone user defined tables (UD01, UD02, UD101, and so on) with the
extended user defined tables. You customize the standalone user defined tables to enter unique records.
The extended user defined tables are extensions you add to an existing table; you can then add custom
columns that display in the existing table.
1. Navigate to Extended User Defined Table Maintenance.
Menu Path: System Setup > System Maintenance > Extended UD Table Maintenance
Important This program is not available in the Epicor Web Access.

2. Click the New button.


The Table Search window displays.
3. In the Starting At field, enter Ship and click Search.
4. Find and select the ShipDtl table; click OK.
Notice the TableName field now displays ShipDtl_UD. This indicates you have created an extended user
defined table for the ShipDtl table.
5. Now click New > New Column.
6. Navigate to the Column > Detail sheet.
7. Enter the following values:

64

Field

Value

Column name

Character01

Description

Container

Data type

String

Format

x(20)

Label

Container

Epicor ERP | 10.0.700

Embedded Customization Course

User Defined Tables

This new column will contain text strings limited to twenty characters.
8. Click Save.
9. To complete this table, you need to synchronize it to the database. To do this, click Actions > Sync Current
Table to DB.
10. A message displays indicating that the ShipDtl_UD table is synchronized. Click OK.
11. You next need to refresh the application to display this extended user defined table. Return to the Home
window and click the Settings tile.
12. Click the Change User... option and log in as manager/manager.

Use the Simple Search Wizard


1. Return to the Home window and click the Settings tile.
2. Verify the General Options node is highlighted on the tree view. Select the Developer Mode option.
3. Return to the Home window and click the Menu tile.
4. Navigate to Customer Shipment Entry.
Menu Path: Material Management > Shipping / Receiving > General Operations > Customer Shipment
Entry
5. In the Select Customization window, click OK.
Your customization will then use the base form.
6. From the Tools menu, select Customization.
The Customization Tools Dialog window displays.
7. In Customer Shipment Entry, navigate to the Lines > Customer Shipment Entry > Detail sheet.
8. In the Customization Tools Dialog window, from the Tools menu, select ToolBox.
9. In the ToolBox, select EpiUltraCombo.
10. Within the From Inventory group box, directly below the Bin button, click inside the form.
11. In the Select Layer Type window, select Customization and click OK.
12. Click and drag the mouse below the Bin button to draw an EpiUltraCombo (drop-down list).
13. Verify the EpiUltraCombo is selected. In the Customization Tools Dialog window, from the Tools menu,
select Wizards > Customization Wizards.
14. In the Customization Code Wizard Dialog window, select Simple Search and click Launch Wizard.
15. Click the Get Adapters button.
16. Select UD01Adapter and click Next.

Epicor ERP | 10.0.700

65

User Defined Tables

Embedded Customization Course

17. In the Custom DropDown field, select epiUltraComboC1.


18. In the Value Field field, select Character01.
19. In the Display Field, select Character01.
20. Click Finish and close the Customization Code Wizard Dialog window.

Use the Form Event Wizard


1. In the Customization Tools Dialog window, navigate to the Wizards > Form Event Wizard sheet.
2. In the Select Event Type field, select Load.
3. Click the Right Arrow button to add the event type to the list.
4. Click the Update Selected Event Code button.
5. Navigate to the Script Editor sheet.
6. Maximize the Customization Tools Dialog window.
7. Copy SearchOnUD01AdapterFillDropDown() (located next to private void on line 50).
8. Paste the code beneath // Add Event Handler Code and end the line with a semi-colon ( ; ).
9. From the Tools menu, select Test Code and verify the Custom Code Compiled Successfully message
displays.
10. In Customer Shipment Entry, verify the epiUltraCombo1 is selected, and in the Customization Tools
Dialog window, navigate to the Properties sheet.
11. In the EpiBinding field, select ShipDtl > Character01.
Notice this column is the additional column you created using Extended User Defined Table Maintenance.
12. Clear the value in the Text property.
13. Click Save.
14. In the Customization Save Dialog window, in the Name and Description fields, enter XXXDropDown
(where XXX are your initials) and click Save.
15. In the Customization Comment window, click OK.
16. Close the Customization Tools Dialog window and Exit Customer Shipment Entry.

Test the Customization


1. Relaunch Customer Shipment Entry
Menu Path: Material Management > Shipping / Receiving > General Operations > Customer Shipment
Entry

66

Epicor ERP | 10.0.700

Embedded Customization Course

User Defined Tables

2. In the Select Customization window, select XXXDropDown (where XXX are your initials) and click OK.
3. From the New menu, select New Pack.
4. Navigate to the Lines > Customer Shipment Entry > Detail sheet.
5. From the New menu, select New Line.
6. Notice that the drop down below the Bin button displays the three containers you entered in the new
Container Maintenance (UD01) table.
7. Exit Customer Shipment Entry.
8. In the Save Confirmation window, click No.

Epicor ERP | 10.0.700

67

Customization/Personalization Maintenance

Embedded Customization Course

Customization/Personalization Maintenance
Use Customization/Personalization Maintenance to manage the customizations and personalizations that
exist within your Epicor application. Its primary feature is the verification functionality which you use to detect
problems within customizations or personalizations.
This maintenance program also contains the tools you need to correct issues that occur.
Customization/Personalization Maintenance is especially useful when you upgrade the application to a new
version, as it can help you make customized and personalized programs compatible with the current version.
Tip When users attempt to launch a customized or personalized program that is not compatible, an error
message displays which prevents the user from launching the program. Customization/Personalization
Maintenance can then be used to upgrade the program. If the customized or personalized program is
compatible, however, no error message displays and the user can run the program as expected.
This program has additional functionality for importing and exporting your customizations and personalizations.
Leverage these functions to make user modified programs available throughout your organization. You can also
use this maintenance tool to delete any customization or personalization. Run this feature when you want to
either remove custom program stages you no longer need or remove personalizations made by employees who
are no longer with your company.
For System Administrators with Security Manager rights, this program can be used to modify fields and delete
customizations and personalizations created by users. For System Administrators without Security Manager rights,
this program displays in a Read-Only format. For more information on security, review the Security documentation.
If you work in a multi-company environment, you can display and update customizations/personalizations in the
companies for which you have access. Personalized and customized programs created in the companies defined
on your user account within User Account Security Maintenance display within this program.
Menu Path
Navigate to this program from the Main Menu:
System Management > Upgrade/Mass Regeneration > Customization Maintenance
Important This program is not available in the Epicor Web Access.

68

Epicor ERP | 10.0.700

Embedded Customization Course

Conclusion

Conclusion
Congratulations! You have completed the Embedded Customization course.

Epicor ERP | 10.0.700

69

Additional information is available at the Education and


Documentation areas of the EPICweb Customer Portal. To access
this site, you need a Site ID and an EPICweb account. To create an
account, go to http://support.epicor.com.

You might also like