Embedded Customization Course 10.0.700
Embedded Customization Course 10.0.700
Embedded Customization Course 10.0.700
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
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
Contents
Customization Deployment.................................................................................................55
Menu Maintenance........................................................................................................................................55
Workshop - Deploy the Customization....................................................................................................55
Select the Customization.................................................................................................................56
Deactivate the Customization..........................................................................................................57
Contents
Customization/Personalization Maintenance.....................................................................68
Conclusion.............................................................................................................................69
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 [email protected]. 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.
1.
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.
4.
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.
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.
Customization Overview
10
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.
11
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
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.
13
Form Customization
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
Form Customization
15
Form Customization
16
Form Customization
17
Form Customization
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
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.
19
Form Customization
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
Form Customization
21
Form Customization
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.
22
Form Customization
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.
23
Form Customization
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.
24
Form Customization
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.
25
Form Customization
26
Form Customization
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.
27
Form Customization
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
Form Customization
29
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.
30
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.
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.
31
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.
32
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.
33
34
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.
35
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
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.
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
37
13. Verify XXX Part Info (where XXX are you initials) displays as a new blank sheet on the form.
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.
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
39
40
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.
41
{
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.
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
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.
43
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.
44
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.
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
45
46
{
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.
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.
47
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
16. Close the Customization Tools Dialog window and Exit Sales Order Entry.
49
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
51
52
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.
53
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
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.
55
Customization Deployment
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
Customization Deployment
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.
57
58
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.
59
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.
60
Description
Weight
CTN2
Container 2
20
CTN3
Container 3
30
61
13.
Remain in XXX Container Maintenance (Where XXX are your initials). During the next exercise, you will continue
to customize this form.
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
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.
63
64
Field
Value
Column name
Character01
Description
Container
Data type
String
Format
x(20)
Label
Container
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.
65
66
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.
67
Customization/Personalization Maintenance
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
Conclusion
Conclusion
Congratulations! You have completed the Embedded Customization course.
69