Top Banner
Epicor ERP Embedded Customization Course 10.0.700
70
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Embedded Customization Course 10.0.700

Epicor ERPEmbedded CustomizationCourse10.0.700

Page 2: Embedded Customization Course 10.0.700

Disclaimer

This document is for informational purposes only and is subject to change without notice. This document and itscontents, including the viewpoints, dates and functional content expressed herein are believed to be accurate as of itsdate of publication. However, Epicor Software Corporation makes no guarantee, representations or warranties withregard to the enclosed information and specifically disclaims any applicable implied warranties, such as fitness for aparticular purpose, merchantability, satisfactory quality or reasonable skill and care. As each user of Epicor software islikely to be unique in their requirements in the use of such software and their business processes, users of this documentare always advised to discuss the content of this document with their Epicor account manager. All information containedherein is subject to change without notice and changes to this document since printing and other important informationabout the software product are made or published in release notes, and you are urged to obtain the current releasenotes for the software product. We welcome user comments and reserve the right to revise this publication and/ormake 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 ofany consulting services by Epicor personnel shall be pursuant to Epicor's standard services terms and conditions. Usageof the solution(s) described in this document with other Epicor software or third party products may require the purchaseof licenses for such other products. Where any software is expressed to be compliant with local laws or requirementsin this document, such compliance is not a warranty and is based solely on Epicor's current understanding of such lawsand requirements. All laws and requirements are subject to varying interpretations as well as to change and accordinglyEpicor cannot guarantee that the software will be compliant and up to date with such changes. All statements ofplatform and product compatibility in this document shall be considered individually in relation to the products referredto in the relevant statement, i.e., where any Epicor software is stated to be compatible with one product and alsostated to be compatible with another product, it should not be interpreted that such Epicor software is compatiblewith both of the products running at the same time on the same platform or environment. Additionally platform orproduct compatibility may require the application of Epicor or third-party updates, patches and/or service packs andEpicor has no responsibility for compatibility issues which may be caused by updates, patches and/or service packsreleased by third parties after the date of publication of this document. Epicor® is a registered trademark and/ortrademark of Epicor Software Corporation in the United States, certain other countries and/or the EU. All othertrademarks 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 ofEpicor Software Corporation.

ED834905

90521-10-9236-58310700

10.0.700

Revision: June 08, 2014 5:28 p.m.

Total pages: 70

course.ditaval

Page 3: Embedded Customization Course 10.0.700

Contents

Embedded Customization Course.........................................................................................6Before You Begin....................................................................................................................7

Audience.........................................................................................................................................................7

Prerequisites....................................................................................................................................................7

Environment Setup..........................................................................................................................................7

Workshop Constraints..............................................................................................................................8

Customization Overview........................................................................................................9Embedded Customization Model........................................................................................11Form 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...............................................................................................30Rule 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

3Epicor ERP | 10.0.700

ContentsEmbedded Customization Course

Page 4: Embedded Customization Course 10.0.700

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.................................................................................................................51Workshop - 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.................................................................................................55Menu Maintenance........................................................................................................................................55

Workshop - Deploy the Customization....................................................................................................55

Select the Customization.................................................................................................................56

Deactivate the Customization..........................................................................................................57

User Defined Tables..............................................................................................................58Workshop - 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.7004

Embedded Customization CourseContents

Page 5: Embedded Customization Course 10.0.700

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.....................................................................68Conclusion.............................................................................................................................69

5Epicor ERP | 10.0.700

ContentsEmbedded Customization Course

Page 6: Embedded Customization Course 10.0.700

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, createcustom C# code that runs before and after data field modifications, and other modifications that help bettermatch 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 makethese 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 istrue 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.7006

Embedded Customization CourseEmbedded Customization Course

Page 7: Embedded Customization Course 10.0.700

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 trainingenvironment. For more information on the modules available, contact your Epicor Customer Account Managerat [email protected]. It is also important you understand the prerequisite knowledge contained in othervaluable 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 userinterface modes - Classic Menu and Modern Shell Menu. Workshops focus on each of these modes andguide 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 tomatch your preferences.

• Advanced Personalization Course - This course shows you how to personalize your Epicor application ina way that best suits your company's needs. It introduces the changes you can make to the layout and contentthat does not affect the actual data or the application requirements. These features are specific to users withPersonalization security privileges.

Environment Setup

The environment setup steps and potential workshop constraints must be reviewed in order to successfullycomplete the workshops in this course.

Your Epicor training environment, in which the Epicor demonstration database is found, enables you to experienceEpicor 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.

7Epicor ERP | 10.0.700

Before You BeginEmbedded Customization Course

Page 8: Embedded Customization Course 10.0.700

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 yourEpicor training environment with the Epicor demonstration database installed. Do not completethe course workshops in your live, production environment.

Note It is recommended that multiple Epicor demonstration databases are installed. ContactSupport or Systems Consulting for billable assistance.

• The Epicor demonstration database is at the same service pack and patch as the Epicorapplication. Epicor's education team updates the Epicor demonstration database for each service packand 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 completingthe course workshops.

• Your system administrator restored (refreshed) the Epicor demonstration database prior tostarting this course. The Epicor demonstration database comes standard with parts, customers, salesorders, 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, productionenvironment) and is not periodically refreshed, unexpected results can occur. For example, if a courseworkshop 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 notrestored (refreshed), then you will not be able to ship the sales order. Epicor's education team has writtenthe course workshops to minimize situations like this from occurring, but Epicor cannot prevent usersfrom 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 yourtraining 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. Beingidentified 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 availablelater for other courses.

Epicor ERP | 10.0.7008

Embedded Customization CourseBefore You Begin

Page 9: Embedded Customization Course 10.0.700

Customization Overview

You can customize most programs within the Epicor application. A powerful tool, Customization, can save youtime 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 andlists, which are then linked to a data source you can select. You can also create new sheets and make themavailable to all users in a company, specific users, and even different companies. You can also activate your owncustomized 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 makesure these customizations work properly. If you want to significantly customize the application, considerworking with your consultant.

9Epicor ERP | 10.0.700

Customization OverviewEmbedded Customization Course

Page 10: Embedded Customization Course 10.0.700

Epicor ERP | 10.0.70010

Embedded Customization CourseCustomization Overview

Page 11: Embedded Customization Course 10.0.700

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 thecustomizations 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 eachEpicor user. These customization layers do this by providing an interface specifically tailored to user size andtype. These layers are only developed by Epicor and Epicor partners.

2. Verticalization -- Through this layer, the application can support the terminology, data fields, and dataflow needed for a specific industry vertical. Each verticalization can be packaged and delivered as a variationfrom 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 tomatch a business need. By leveraging these tools, you can model, track, pilot, deploy, and roll out changesto specific users, specific companies, and multiple companies. The embedded customization engine residesin two code sections. One section resides in each User Interface (UI) application form and the other sectionresides in the business application layer. The UI customization component acts like an Integrated DevelopmentEnvironment (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 bindthese 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, atform Load, and at form Exit. The code has access to the active dataset as well as the extended columnand row properties. Additionally, the code can access data within the database.

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

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

Because Productizations and Verticalizations are developed either by Epicor Software Corporation™ or by anEpicor partner organization, you cannot change these layers. The personalization and customization layers areXML files placed on top of the existing base code, productizations, and/or verticalizations. When a program hasan embedded customization, personalization, and/or localization layer, the XML file contains the modificationsto determine how the user interface displays. This hierarchical layering of customizations ensures the integrity ofthe source code.

Software Developer Kit

The Software Developer Kit (SDK) consists of a series of advanced tools for .NET™ programmers who want toextend the Epicor application. The SDK is a separate application you can purchase from Epicor. This applicationcontains the environment required to develop new forms by leveraging the same toolset used by Epicor developers.

11Epicor ERP | 10.0.700

Embedded Customization ModelEmbedded Customization Course

Page 12: Embedded Customization Course 10.0.700

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

Epicor ERP | 10.0.70012

Embedded Customization CourseEmbedded Customization Model

Page 13: Embedded Customization Course 10.0.700

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. Eachform can have multiple layers of changes, and the customization engine resolves all layers through the stack fromproductization to verticalization to customization to personalization. For example, if you add fields or sheets toa form to support a verticalization and then apply a customization on top of this verticalization, the Epicorapplication applies each layer sequentially. This means a subsequent change to the verticalization layer does notinvalidate 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 activatecustomization mode. Once you are in Developer Mode, the Select Customization window displays for each formyou launch.

The Select Customization form is very important because it allows you to control access to the different layersof 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 customizationsand personalizations already available.

If you select a customization, the form opens with the selected customization. If you do not select an existingcustomization 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 featureto develop more complex customizations and localizations in stages. You can specify if you want to make thisproject available to one company or across all companies in your organization.

13Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 14: Embedded Customization Course 10.0.700

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 thatreflect 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 theWIP status to a customization or localization, it is not available to other users. Use this feature to develop theproject 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 userswithin your network. Users can then enable the customizations and localizations they want to use. For moreinformation, refer to Application Help topic: Deploy Customization.

This window also displays the other customizations and localizations that currently exist for this form. You viewthis information in the Existing Customizations grid.

Epicor ERP | 10.0.70014

Embedded Customization CourseForm Customization

Page 15: Embedded Customization Course 10.0.700

Customization Tools Dialog

Use the Customization Tools Dialog window to create and edit customizations for most programs in the Epicorapplication.

The Customization Tools Dialog window displays over the program you are customizing, and displays the sheetsand fields available for the program within its navigation pane. The navigation pane is on the left side of thewindow.

You can manipulate most aspects of the program in this window. You can resize each control directly with themouse. When you select a control and click the Properties sheet, you also gain access to several aspects of thiscontrol. Use the Properties sheet for this control to change the control's font, color, size, and so on. You can alsouse 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 createthe custom controls you need on new or current sheets. You can also use the Customization Options windowto 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 youcreate new sheets, row rules, and other modifications. Using these wizards saves you time developing yourcustomization, 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 businessneeds.

As you select various branches and nodes within the tree view, the Properties sheet displays the propertiesassociated with that field, sheet area, or sheet. Depending on the type of branch or node selected, a differentset of Properties display. As you select various items in the tree view, different Properties sets display the propertiesassociated 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 controldirectly with the mouse but you can use the Control Properties to change the font, color, location, size, andother properties of the field, such as Visible or ReadOnly. Use this sheet to bind, or link, the control to aspecific data source and field.

• Sheet Properties - Use this property set to control sheet aspects. Manipulate the properties here to changethe color, location, size, and other properties of the sheet. You can also use these properties to manipulatethe appearance of labels.

• Grid Properties - Use this set to manipulate the properties of a specific grid. You can make certain columnsvisible 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 tableand 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.

15Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 16: Embedded Customization Course 10.0.700

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.

Epicor ERP | 10.0.70016

Embedded Customization CourseForm Customization

Page 17: Embedded Customization Course 10.0.700

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 thecourse.

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 > GeneralOperations > Order Entry

Once you launch the program, the Select Customization window displays.

5. In the Select Customization window, review the Default Customization Programming Languagesection. 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 theCustomization 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 eachcontrol is placed on the user interface.

17Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 18: Embedded Customization Course 10.0.700

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 tothe form. You use the tree view to navigate to specific controls, and you can also click on each controlin 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 yourinitials) and click OK.

Use the Customization Comment window to enter helpful information you need for the customization. Youcan 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.

Epicor ERP | 10.0.70018

Embedded Customization CourseForm Customization

Page 19: Embedded Customization Course 10.0.700

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 ToolBoxoption from the Tools menu, it displays on top of your current form. Click the buttons on the Toolbox to createcustom 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 accompaniesanother groupbox that displays the current selected options. With this tool selected, click and drag your cursorover the form. A groupbox displays with resizing handles. Release your mouse button to drop the groupboxonto the form. Use the handles to make the groupbox the desired size. You can bind a groupbox to a DataSource/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 fromthe database. A DataView and a DataField can be specified to bind the textbox to that data. Binding is theprocess that links custom controls such as fields, check boxes, and lists to an individual piece of data withina 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 anothercontrol, 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 andCustomization Guide.

Tip For consistency, the height of a control should always be 20 pixels. Use the size property to definethis parameter by clicking the plus sign (+) next to the Size field to display and change the width and heightproperties.

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 downwardto 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. Howeveryou 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.

19Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 20: Embedded Customization Course 10.0.700

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.

Epicor ERP | 10.0.70020

Embedded Customization CourseForm Customization

Page 21: Embedded Customization Course 10.0.700

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 toOrderHed.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, causingthe 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 usersenter 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.

21Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 22: Embedded Customization Course 10.0.700

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 entiretext.

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 fieldof 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 boxand 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.

Epicor ERP | 10.0.70022

Embedded Customization CourseForm Customization

Page 23: Embedded Customization Course 10.0.700

Add an UltraCombo Control

An EpiUltraCombo is a drop-down list of valid entries. This topic demonstrates how you add the EpiUltraCombocontrol 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 insituations where you do not need to save data to a bound field in the database yet and you must select a certainstring value from a list.

The second mode involves use of the retriever functionality indicated by a check box. Essentially, the retrieverallows you to pull values through a programmatic convention, called an adapter, from values already set inanother program in the Epicor application.

Note EpiCombo objects, as well as most other controls available to you in Embedded Customization, areEpicor's own versions of a series of .NET framework objects, including message boxes, combo boxes, datalist views, text boxes, and grids. Microsoft provides documentation on each of these objects in their .NETFramework library available at http://www.msdn.com. To set additional properties or adjust the display ofa given object, you should understand the original .NET control which the Epicor control is based. The .NETproperties 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 youcreated 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 > GeneralOperations > 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 PONumber label.

8. Click the new EpiLabel.

23Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 24: Embedded Customization Course 10.0.700

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 controlto the OrderHed.ShipViaCode column.

7. Link the EpiUltraCombo to the Ship Via label. Click the EpiLabel drop-down list and select the epiLabelC2option.

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 labelaround as a unit.

Use the Simple Search Wizard

1. In the Customization Tools Dialog window, from the Tools menu, select Wizards > CustomizationWizards.

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.

Epicor ERP | 10.0.70024

Embedded Customization CourseForm Customization

Page 25: Embedded Customization Course 10.0.700

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 ToolsDialog 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 Codeand 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 > GeneralOperations > 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.

25Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 26: Embedded Customization Course 10.0.700

5. Remain in Sales Order Entry.

Epicor ERP | 10.0.70026

Embedded Customization CourseForm Customization

Page 27: Embedded Customization Course 10.0.700

Add an UltraGrid Control

Grids display data in a column and row format so users can review multiple records at the same time. This topicexplains how to add an EpiUltraGrid control to your customization and modify the additional properties usedto define this control.

As with the other controls in the ToolBox, the UltraGrid is based on a member of the .NET framework called alistview 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 alsoallows you to define the data fields that display when the dataset is retrieved from the database for viewing inthe 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 toadd 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 spaceavailable.

27Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 28: Embedded Customization Course 10.0.700

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 theOrderRel 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 > GeneralOperations > 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.

Epicor ERP | 10.0.70028

Embedded Customization CourseForm Customization

Page 29: Embedded Customization Course 10.0.700

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.

29Epicor ERP | 10.0.700

Form CustomizationEmbedded Customization Course

Page 30: Embedded Customization Course 10.0.700

Customization Form Wizards

The Customization Tools Dialog window contains a series of customization form wizards that can guide youthrough customizing various aspects of a form (program).

Tip The Epicor application also contains a series of wizards, the Customization Code Wizards, that helpyou 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 setup the rules action. You can define rules for both data fields and image columns through this wizard. After yousave 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 columnswithin the Image Column Wizard.

It is possible to create complex row rules, define custom rule conditions and rule actions, and evaluate the rulesbased 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 dataview based on complex comparisons, which can be specified in code snippets. It is also possible to specify codesnippets that can be used for the row rule action so that complex behavior can be achieved. The code snippetsfor 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 toit. This wizard, the Image Column Row Rule Wizard, can be launched from either the Rule Wizard orthe 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 thanfive 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 > GeneralOperations > Order Entry

2. In the Select Customization window, click OK.

Epicor ERP | 10.0.70030

Embedded Customization CourseCustomization Form Wizards

Page 31: Embedded Customization Course 10.0.700

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:

DataField

Excessive DiscountRule Description

OrderDtlRule View

OrderDtlSelect View

DiscountPercentSelect Field

GreaterThanRule Condition

clearView/Field?

5Rule Value

Note If you select the View/Field? check box, the additional Select View and Select Field optionsbecome available for the condition. For the purpose of this workshop, leave this check box clear anduse the Rule Value field.

The Rule Value field is a drop-down list with available options you can select. However you can alsoenter 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:

DataField

PartNumSelect Field

ErrorSetting Styles

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.

31Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 32: Embedded Customization Course 10.0.700

7. Enter the following information:

DataField

LineDescSelect Field

ErrorSetting Styles

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 automaticallygenerates 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 (whereXXX 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.

Epicor ERP | 10.0.70032

Embedded Customization CourseCustomization Form Wizards

Page 33: Embedded Customization Course 10.0.700

The Part/Rev and Description fields turn red. This alerts the user that the Discount % value is most likelytoo high.

10. Exit Sales Order Entry.

11. In the Save Confirmation window, select No.

33Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 34: Embedded Customization Course 10.0.700

Image Column Wizard

The Image Column Wizard gives you the ability to add an image column to a selected grid. This column thendisplays an image you select.

To use this functionality, first create the column, give it a name and label, and then select the default image thatwill display on the grid.

If necessary, you can also create row rules that define when other images display within this column. You caneven set up this column so that it does not have a default image, and then use row rules to populate it withspecific 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 displayyour own images through the Resource Editor program. This separate utility is installed as part of the Epicorapplication. Use this utility to find, select and add your own images to the Epicor application, which can thendisplay 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 theTools 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 beperformed, for example, in a scenario in which the field service team wants to use a modified version of the salesorder entry summary page to quickly identify the line items in an order whose parts do not currently fall underwarranty.

The following rule creates an image column in the summary sheet's grid view that displays a red exclamationmark 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 > GeneralOperations > 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 youfollow to create a new image column and define the rule criteria that indicates when this image displays.

Epicor ERP | 10.0.70034

Embedded Customization CourseCustomization Form Wizards

Page 35: Embedded Customization Course 10.0.700

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 pressTab.

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 leftto 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 pressTab.The Data View field displays the database table monitored by the row rule. For this workshop, keep theOrderDtl 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 appearwhen the row rule conditions are met. The current images available in the Epicor application display on thisdrop-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 clickSave.

21. In the Customization Comment window, click OK.

22. Close the Customization Tools Dialog window and exit Sales Order Entry.

35Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 36: Embedded Customization Course 10.0.700

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 > GeneralOperations > Order Entry

2. In the Select Customization window, select XXXWarrantyCode (where XXX are your initials) and clickOK.

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.

Epicor ERP | 10.0.70036

Embedded Customization CourseCustomization Form Wizards

Page 37: Embedded Customization Course 10.0.700

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 sheet’s tab or text properties. You can alsoadd a dashboard directly onto your new sheet. Dashboards are powerful tools that provide easy access to criticalreal-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 theprogram interface, this causes the sheet to display as a sub-sheet under the parent sheet. You can also let customsheets become docking sheets (parent sheets) for other custom sheets. To do this, select the Docking Sheetcheck 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 learnedearlier 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.

37Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 38: Embedded Customization Course 10.0.700

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:

DataField

DecimalNumeric Type

Part.NetWeightEpiBinding

epiLabelC1EpiLabel

120,20Size

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.

Epicor ERP | 10.0.70038

Embedded Customization CourseCustomization Form Wizards

Page 39: Embedded Customization Course 10.0.700

6. Exit Part Maintenance.

39Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 40: Embedded Customization Course 10.0.700

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 firstdisplayed.

• AfterRowChange - This event is called after a row is changed on a grid. It does not activate if the grid onlycontains 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 fromleaving 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, populatingDescription fields, and so on.

• ListChanged - This event is useful when a grid only contains one row. Use this event in combination withthe AfterRowChange event to run a custom event.

• Retrieve - This event is called when a user clicks the Retrieve button found throughout the interface, retrievingdata from the database. This button is typically found on trackers. This event is useful for custom code thatrefreshes 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 UIForm_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 variablesin the data.

• EpiViewNotification - This event is called just after a data view is loaded into a program. It lets users knowthat this data is ready to be viewed and edited. Use this event frequently, as it allows you to enter customcode 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 detectsan event, it initializes your custom code. It allows you to create customizations that run just before an eventlaunches, display message boxes, automatically display search programs, validate data, and so on. You canalso 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 detectsan event, it initializes your custom code. It allows you to create customizations that populate fields, validatedata, update external tools, and so on.

• BeforeToolClick - This event is fired from the EpiBaseForm before the framework processes the InfragisticsToolbar 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 setargs.Handled=true to bypass base click behavior.

• ToolClick - This event occurs when the framework processes the Infragistics Toolbar click event. Use thisevent to add code that runs when a user selects a specific menu item. This event implements the handlerdirectly against the Infragistics Toolbars manager. When fired, both the base package ToolClick event handlerand the custom ToolClick handler will be invoked.

• BeforeToolDropdown - This event launches after a primary menu item is selected and the sub-menu itemsappear. 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, thisspecial code automatically runs.

Example You want to control when new part numbers are created. You define a Form Event that launchesafter the Part ID field is changed. The Epicor application makes sure that the Part ID exists before the user

Epicor ERP | 10.0.70040

Embedded Customization CourseCustomization Form Wizards

Page 41: Embedded Customization Course 10.0.700

is allowed to enter more data on the sheet. If the Part ID exists, the rest of the form's fields activate; if itdoes 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 exceedsone 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 > GeneralOperations > 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)

41Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 42: Embedded Customization Course 10.0.700

{ dtNeedByDate = Convert.ToDateTime(args.ProposedValue); if (dtNeedByDate > System.DateTime.Today.AddDays(365)) { MessageBox.Show("Need By Date exceeds one year. Enter a valid Need By Date"); } } break;

3. From the Tools menu, select Test Code and verify the Custom Code Compiled Successfully messagedisplays.

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 > GeneralOperations > 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.

Epicor ERP | 10.0.70042

Embedded Customization CourseCustomization Form Wizards

Page 43: Embedded Customization Course 10.0.700

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 morethan 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 > GeneralOperations > 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 clickOK.

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. Cancel this operation?"; string caption = "Part Number Length"; System.Windows.Forms.MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result=DialogResult.Cancel; if (args.ProposedValue.ToString().Length > 20) { result = MessageBox.Show(message,caption,MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1,MessageBoxOptions.RightAlign); } if (result == DialogResult.Yes) {

43Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 44: Embedded Customization Course 10.0.700

oTrans.Undo(); throw new UIException(); } break;

4. From the Tools menu, select Test Code and verify the Custom Code Compiled Successfully messagedisplays.

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 > GeneralOperations > 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.

Epicor ERP | 10.0.70044

Embedded Customization CourseCustomization Form Wizards

Page 45: Embedded Customization Course 10.0.700

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 addcontrols by using the Toolbox.

The events you can create for your custom controls are nearly endless. You can create code that launches a thirdparty 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 tothe 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 soyou 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.

45Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 46: Embedded Customization Course 10.0.700

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 checkchanged 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["Customer"]; //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)

Epicor ERP | 10.0.70046

Embedded Customization CourseCustomization Form Wizards

Page 47: Embedded Customization Course 10.0.700

{ 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 codefor 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 messagedisplays.

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 togive it focus.

6. Exit your internet browser and Customer Maintenance.

7. In the Save Confirmation window, click No.

47Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 48: Embedded Customization Course 10.0.700

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 Entryearlier. 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 > GeneralOperations > 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 messagedisplays.

14. In the Customization Tools Dialog window, click Save.

15. In the Customization Comment window, click OK.

Epicor ERP | 10.0.70048

Embedded Customization CourseCustomization Form Wizards

Page 49: Embedded Customization Course 10.0.700

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

49Epicor ERP | 10.0.700

Customization Form WizardsEmbedded Customization Course

Page 50: Embedded Customization Course 10.0.700

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 > GeneralOperations > 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 asmany 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.

Epicor ERP | 10.0.70050

Embedded Customization CourseCustomization Form Wizards

Page 51: Embedded Customization Course 10.0.700

Foreign Key View

A foreign key is a link to a separate, or foreign, table that contains logically similar data. Use foreign keys to linkthese related tables so information you need displays. You can display foreign key views on customized sheetsand 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 anothersub-view to this view, another sub-view to this sub-view and so on. As long as you can establish a logical connectionbetween 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 othertables 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 toadd the Like property to a specific field. For more information, refer to application help topic: CustomColumn Like

You can also customize how the data appears within the grid through Row Rules. You can highlight acolumn, bold a column's text, and make some columns invisible. For more information, refer to applicationhelp 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 reviewwhat you learned earlier by creating a custom sheet and adding labels and textboxes to the new sheet. For thisworkshop, 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 > GeneralOperations > 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.

51Epicor ERP | 10.0.700

Foreign Key ViewEmbedded Customization Course

Page 52: Embedded Customization Course 10.0.700

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.

Epicor ERP | 10.0.70052

Embedded Customization CourseForeign Key View

Page 53: Embedded Customization Course 10.0.700

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 tothe TextBox to link the EpiLabel to the EpiNumericEditor. Be sure you size the EpiNumericEditor touse 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 XXXare 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.

53Epicor ERP | 10.0.700

Foreign Key ViewEmbedded Customization Course

Page 54: Embedded Customization Course 10.0.700

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 > GeneralOperations > 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 weightdisplays for the item.

9. Exit Sales Order Entry.

10. In the Save Confirmation window, select No.

Epicor ERP | 10.0.70054

Embedded Customization CourseForeign Key View

Page 55: Embedded Customization Course 10.0.700

Customization Deployment

You make customizations available to users through Menu Maintenance. Using this program, you enable acustomization so it displays on the Main Menu.

Note that customizations saved with the Work in Process (WIP) status do not display in this program. Theapplication considers these customizations still in development, and so you cannot select them in MenuMaintenance. 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 Epicorapplication. You can select customized programs, reports, dashboards, and sub-process programs and makethem available to users within your company.

The changes you make within Menu Maintenance display on the workstations and mobile devices that run theEpicor application within your environment. Use Menu Maintenance to replace a current program with a customizedprogram. You can also add menu items for custom programs and custom reports. If you customize a sub-processprogram like Memo Entry or the Part Transaction Log, you also define how users access this process through thisprogram.

For Menu programs, you add or update an icon on the Menu and then select the customization layer you wantto display. For sub-process programs, you add the customized sub-process program to the Process node in MenuMaintenance and then activate the customized program through Process Calling Maintenance; review theSub 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 getcustomization rights and use this functionality, refer to the User Account Maintenance - Security applicationhelp 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 theMain menu.

55Epicor ERP | 10.0.700

Customization DeploymentEmbedded Customization Course

Page 56: Embedded Customization Course 10.0.700

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, clickthe 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 marknext 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 > GeneralOperations > Order Entry.

6. Navigate to the Detail sheet.

7. In the Program section, in the Customization field, select one of your customizations, for exampleXXXNewHeader (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 theHome 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 > GeneralOperations > Order Entry

Verify the customizations you made to Sales Order Entry display.

14. Exit Sales Order Entry.

Epicor ERP | 10.0.70056

Embedded Customization CourseCustomization Deployment

Page 57: Embedded Customization Course 10.0.700

Deactivate the Customization

This workshop illustrates how you remove a customization so it no longer displays during runtime. Use this featureto 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 > GeneralOperations > 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 isstill 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 > GeneralOperations > Order Entry

Verify your customization no longer displays.

11. Exit Sales Order Entry.

57Epicor ERP | 10.0.700

Customization DeploymentEmbedded Customization Course

Page 58: Embedded Customization Course 10.0.700

User Defined Tables

As part of the database, the Epicor application contains a series of User Defined Tables. Use these special tablesto customize the database so you can enter data unique to your company. You first add these tables directly tothe 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 onthis user defined table.

Note User defined tables do not display on the out-of-box menu in the Epicor application. To customizeand deploy user defined tables, you must first add a reference to the table to the existing menu. TheWorkshop - User Defined Tables and Workshop - Create a Drop Down Menu demonstrate how toadd 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. TheRetriever Adapter allows you to bind Key 1 to an UltraCombo element. Because of this, use Key 1 as theprimary 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 basicfunctionality as the standalone tables, but they contain additional functionality so you can create parent/childdata relationships.

Labeled as UD100 to UD110, these user defined tables are made up of two tables, a Parent table and a Childtable. UD100, for example, has the parent UD100 table and a child table, UD100A. The UD100A table holds thechild 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.

Epicor ERP | 10.0.70058

Embedded Customization CourseUser Defined Tables

Page 59: Embedded Customization Course 10.0.700

Workshop - User Defined Tables

In this workshop, create a new menu item to access a user defined table. Then, customize the table to handlemaintenance 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 youclick 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 parentmenu 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.

59Epicor ERP | 10.0.700

User Defined TablesEmbedded Customization Course

Page 60: Embedded Customization Course 10.0.700

16. To see the deployed customization, you must log out of the application and then log back in. Click theHome 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 nextworkshop, 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 untilit 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.

Epicor ERP | 10.0.70060

Embedded Customization CourseUser Defined Tables

Page 61: Embedded Customization Course 10.0.700

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 yourinitials).

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:

WeightDescriptionContainer ID

20Container 2CTN2

30Container 3CTN3

9. Click the Clear icon.

10. Click Search.The Search Form window displays.

11. Click Search.

12. Click Select All and click OK.

61Epicor ERP | 10.0.700

User Defined TablesEmbedded Customization Course

Page 62: Embedded Customization Course 10.0.700

Three containers display in the tree and list views.

Note Further customization can be performed on the List sheet to ensure that the unused columnsfrom 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 continueto 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:

Change ToCleared Field

Container IDKey1

DescriptionCharacter01

WeightShortChar01

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 ContainerMaintenance.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.

Epicor ERP | 10.0.70062

Embedded Customization CourseUser Defined Tables

Page 63: Embedded Customization Course 10.0.700

Deploy the Customized Table

1. You first need to shut off Developer Mode. Click the Home button. Once the Home screen displays, clickthe 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 marknext 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 ContainerMaintenance (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 theHome 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.

63Epicor ERP | 10.0.700

User Defined TablesEmbedded Customization Course

Page 64: Embedded Customization Course 10.0.700

Workshop - Create a Drop Down Menu

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

Add an Extended UD Table

If you need additional columns for your customization, you create them using Extended User Defined TableMaintenance.

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 thisCharacter01 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 theextended 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 customcolumns 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 userdefined table for the ShipDtl table.

5. Now click New > New Column.

6. Navigate to the Column > Detail sheet.

7. Enter the following values:

ValueField

Character01Column name

ContainerDescription

StringData type

x(20)Format

ContainerLabel

Epicor ERP | 10.0.70064

Embedded Customization CourseUser Defined Tables

Page 65: Embedded Customization Course 10.0.700

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 CurrentTable 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 Homewindow 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 ShipmentEntry

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.

65Epicor ERP | 10.0.700

User Defined TablesEmbedded Customization Course

Page 66: Embedded Customization Course 10.0.700

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 messagedisplays.

10. In Customer Shipment Entry, verify the epiUltraCombo1 is selected, and in the Customization ToolsDialog 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 ShipmentEntry

Epicor ERP | 10.0.70066

Embedded Customization CourseUser Defined Tables

Page 67: Embedded Customization Course 10.0.700

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 newContainer Maintenance (UD01) table.

7. Exit Customer Shipment Entry.

8. In the Save Confirmation window, click No.

67Epicor ERP | 10.0.700

User Defined TablesEmbedded Customization Course

Page 68: Embedded Customization Course 10.0.700

Customization/Personalization Maintenance

Use Customization/Personalization Maintenance to manage the customizations and personalizations thatexist within your Epicor application. Its primary feature is the verification functionality which you use to detectproblems 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 newversion, 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 errormessage displays which prevents the user from launching the program. Customization/PersonalizationMaintenance can then be used to upgrade the program. If the customized or personalized program iscompatible, 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 alsouse this maintenance tool to delete any customization or personalization. Run this feature when you want toeither remove custom program stages you no longer need or remove personalizations made by employees whoare no longer with your company.

For System Administrators with Security Manager rights, this program can be used to modify fields and deletecustomizations 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 thecompanies for which you have access. Personalized and customized programs created in the companies definedon 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.

Epicor ERP | 10.0.70068

Embedded Customization CourseCustomization/Personalization Maintenance

Page 69: Embedded Customization Course 10.0.700

Conclusion

Congratulations! You have completed the Embedded Customization course.

69Epicor ERP | 10.0.700

ConclusionEmbedded Customization Course

Page 70: Embedded Customization Course 10.0.700

Additional information is available at the Education andDocumentation areas of the EPICweb Customer Portal. To access

this site, you need a Site ID and an EPICweb account. To create anaccount, go to http://support.epicor.com.