Beruflich Dokumente
Kultur Dokumente
Disclaimer
This document is for informational purposes only and is subject to change without notice. This document and its
contents, including the viewpoints, dates and functional content expressed herein are believed to be accurate as of its
date of publication. However, Epicor Software Corporation makes no guarantee, representations or warranties with
regard to the enclosed information and specifically disclaims any applicable implied warranties, such as fitness for a
particular purpose, merchantability, satisfactory quality or reasonable skill and care. As each user of Epicor software is
likely to be unique in their requirements in the use of such software and their business processes, users of this document
are always advised to discuss the content of this document with their Epicor account manager. All information contained
herein is subject to change without notice and changes to this document since printing and other important information
about the software product are made or published in release notes, and you are urged to obtain the current release
notes for the software product. We welcome user comments and reserve the right to revise this publication and/or
make improvements or changes to the products or programs described in this publication at any time, without notice.
The usage of any Epicor software shall be pursuant to an Epicor end user license agreement and the performance of
any consulting services by Epicor personnel shall be pursuant to Epicor's standard services terms and conditions. Usage
of the solution(s) described in this document with other Epicor software or third party products may require the purchase
of licenses for such other products. Where any software is expressed to be compliant with local laws or requirements
in this document, such compliance is not a warranty and is based solely on Epicor's current understanding of such laws
and requirements. All laws and requirements are subject to varying interpretations as well as to change and accordingly
Epicor cannot guarantee that the software will be compliant and up to date with such changes. All statements of
platform and product compatibility in this document shall be considered individually in relation to the products referred
to in the relevant statement, i.e., where any Epicor software is stated to be compatible with one product and also
stated to be compatible with another product, it should not be interpreted that such Epicor software is compatible
with both of the products running at the same time on the same platform or environment. Additionally platform or
product compatibility may require the application of Epicor or third-party updates, patches and/or service packs and
Epicor has no responsibility for compatibility issues which may be caused by updates, patches and/or service packs
released by third parties after the date of publication of this document. Epicor is a registered trademark and/or
trademark of Epicor Software Corporation in the United States, certain other countries and/or the EU. All other
trademarks mentioned are the property of their respective owners. Copyright Epicor Software Corporation 2014.
All rights reserved. No part of this publication may be reproduced in any form without the prior written consent of
Epicor Software Corporation.
ED849905
90521-10-9221-58310700
10.0.700
Revision: June 08, 2014 5:20 p.m.
Total pages: 60
course.ditaval
Contents
Contents
Business Process Management Course.................................................................................5
Before You Begin....................................................................................................................6
Audience.........................................................................................................................................................6
Prerequisites....................................................................................................................................................6
Environment Setup..........................................................................................................................................6
Workshop Constraints..............................................................................................................................7
Method Directives................................................................................................................15
Workshop - Make a Field Mandatory.............................................................................................................15
Add a Method Code...............................................................................................................................16
Add a Pre-Processing Directive................................................................................................................16
Add First Condition.................................................................................................................................17
Extend First Condition.............................................................................................................................18
Add First Action......................................................................................................................................19
Add Another Condition..........................................................................................................................19
Extend Second Condition........................................................................................................................20
Add Second Action.................................................................................................................................21
Test the BPM for the Part Class...............................................................................................................22
Test the BPM for the Part Group.............................................................................................................22
Disable Directives....................................................................................................................................23
Workshop - Set Log Created By and Date......................................................................................................23
Add User Defined Columns.....................................................................................................................23
Synchronize Table...................................................................................................................................24
Regenerate Data Model..........................................................................................................................25
Add a Method Directive..........................................................................................................................25
Add a Pre-Processing Directive................................................................................................................26
Add an Action........................................................................................................................................26
Create a Customized Text Field...............................................................................................................28
Create Another Customized Text Field....................................................................................................28
Add Labels to Text Fields.........................................................................................................................29
Save and Test Customizations.................................................................................................................29
Disable Directive ....................................................................................................................................30
Contents
Hold Type..............................................................................................................................34
Workshop - Create and Use a Hold Type........................................................................................................34
Create the Hold Type..............................................................................................................................34
Add a Method Code...............................................................................................................................35
Add a Pre-Processing Directive................................................................................................................35
Add an Action........................................................................................................................................36
Add a Pre-Processing Directive................................................................................................................36
Add an Action........................................................................................................................................37
Add a Post-Processing Directive..............................................................................................................37
Add an Action........................................................................................................................................38
Add a Post-Processing Directive..............................................................................................................39
Add an Action........................................................................................................................................39
Add a Method Code...............................................................................................................................40
Add a Pre-Processing Directive................................................................................................................40
Add an Action........................................................................................................................................41
Update a Customer Record.....................................................................................................................41
Create a Sales Order...............................................................................................................................42
Disable Directives....................................................................................................................................42
Data Directives......................................................................................................................44
Workshop - Use Auto Print Action.................................................................................................................44
Locate the OrderHed Table.....................................................................................................................44
Add Standard Directive...........................................................................................................................45
Add an Action........................................................................................................................................45
Test the BPM..........................................................................................................................................46
Disable Directive.....................................................................................................................................47
Conclusion.............................................................................................................................59
Audience
Specific audiences will benefit from this course.
System Administrator
IT/Technical Staff
Prerequisites
To complete the workshops in this course, the necessary modules must be licensed and operating in your training
environment. For more information on the modules available, contact your Epicor Customer Account Manager
at EpicorCAM@epicor.com. It is also important you understand the prerequisite knowledge contained in other
valuable courses.
Navigation Course - This course introduces navigational aspects of the Epicor application's user interface.
Designed for a hands-on environment, general navigation principles and techniques available in two user
interface modes - Classic Menu and Modern Shell Menu. Workshops focus on each of these modes and
guide you through each navigational principle introduced.
Advanced Personalization - This course will show you how to personalize the system in a way that best
suits your company's needs and how to export these personalizations so that others can import the
personalizations into their computers.
Embedded Customization - 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.
Environment Setup
The environment setup steps and potential workshop constraints must be reviewed in order to successfully
complete the workshops in this course.
Your Epicor training environment, in which the Epicor demonstration database is found, enables you to experience
Epicor functionality in action but does not affect data in your live, production environment.
The following steps must be taken to successfully complete the workshops in this course.
1.
Verify the following or ask your system administrator to verify for you:
Your Epicor training icon (or web address if you are using Epicor Web Access) points to your
Epicor training environment with the Epicor demonstration database installed. Do not complete
the course workshops in your live, production environment.
Note It is recommended that multiple Epicor demonstration databases are installed. Contact
Support or Systems Consulting for billable assistance.
The Epicor demonstration database is at the same service pack and patch as the Epicor
application. Epicor's education team updates the Epicor demonstration database for each service pack
and patch. If your system administrator upgrades your Epicor application to a new service pack or patch,
he or she must also download the corresponding Epicor demonstration database from EPICweb > Support
> Epicor > Downloads and install it. If this is not performed, unexpected results can occur when completing
the course workshops.
Your system administrator restored (refreshed) the Epicor demonstration database prior to
starting this course. The Epicor demonstration database comes standard with parts, customers, sales
orders, and so on, already defined. If the Epicor demonstration database is shared with multiple users
(that is, the database is located on a server and users access the same data, much like your live, production
environment) and is not periodically refreshed, unexpected results can occur. For example, if a course
workshop requires you to ship a sales order that came standard in the Epicor demonstration database,
but a different user already completed this workshop and the Epicor demonstration database was not
restored (refreshed), then you will not be able to ship the sales order. Epicor's education team has written
the course workshops to minimize situations like this from occurring, but Epicor cannot prevent users
from manipulating the data in your installation of the Epicor demonstration database.
2.
Log in to the training environment using the credentials manager/manager. If you are logged into your
training environment as a different user, from the Options menu, select Change User.
3.
From the Main menu, select the company Epicor Education (EPIC06).
4.
5.
To complete the Workshop - Use Auto Print Action, SQL Server Reporting Service (SSRS) must be
installed and operational in your environment in order to run SSRS reports.
If necessary, work with your system administrator and see Install Epicor SQL Server Reporting Service
(SSRS) topics found within the Epicor 10 Installation Guide.
Workshop Constraints
For the purpose of this course and the training environment, it is important to follow all of the steps provided in
each workshop. While this course provides education on creating and using various BPMs, it is essential that all
created BPMs are disabled or deleted. Disabling or removing the BPMs ensure the appropriate default training
environment is available.
Important Note that restoring (refreshing) the demonstration database does not automatically remove
existing BPM directives. All BPM directives must be manually removed or disabled.
The key elements of using BPM directives within the application include the following:
A user performs an action in a program.
The program calls a business object method to carry out the action.
Before the business object executes its program code, Pre-Processing directives are executed.
Note If at least one non-empty Base Processing directive is in effect, the Base Processing directive will
run instead of the Epicor program code.
Important Epicor strongly recommends you do not create Base Processing directives. If you change a
base method incorrectly, you can harm the normal function of the application. This option is mainly
included for partners, consultants, and power users who need to directly modify the method for major
business modifications. Work with an Epicor consultant before you create a base processing method
directive.
After the Pre-Processing directive, the Epicor program code performs its function, or Base directives are
executed.
When data transaction is about to be applied to the database, In-Transaction directives are executed.
After the Epicor program code or Base directive is run, Post-Processing directives are executed.
Standard data directives are executed with accumulated transaction database changes passed to them.
Data is returned to the program according to the actions run by the directives and Epicor program.
10
Method
Description
Delete by ID
Use to delete records (sometimes), Group delete (for example, order + lines
+ rel)
Get by ID
Get List
Get New
Get Rows
Update
Use to add, update, and delete records, most common method to use in BPM
Update Ext
Use to add, update, and delete records for use with updatable BAQs
Master Update
Use to add, update, and delete master records of specific business objects
Data
User Name
manager
Password
manager
Description
Records all call data in the tracing log. If this option is not selected, only
the header information is stored in the log.
11
Tracing Option
Description
When a method call has a <returnType> other than void, selecting this
check box causes the dataset returned from the server to display on the
tracing log.
Includes the information from the server processing in the client trace log.
6. For this workshop, select the Write Full Dataset check box.
7. Click Apply.
8. Leave the Tracing Options Form open.
Add a Part
1. Maximize Part Maintenance.
2. In the Part field, enter XXX-TestPart1 (where XXX are your initials) and press Tab.
3. In the Add New Confirmation window, click Yes.
4. In the Description field, enter XXX Test Part 1 (where XXX are your initials).
5. Click Save.
6. Exit Part Maintenance.
12
<Company>EPIC06</Company>
<PartNum>XXX-TestPart1</PartNum>
<SearchWord>XXX Test</SearchWord>
<PartDescription>XXX Test Part 1</PartDescription>
<ClassID></ClassID>
<IUM>EA</IUM>
<PUM>EA</PUM>
<TypeCode>P</TypeCode>
13
1. In the desktop task bar (in the lower right corner of the screen), verify the System Monitor icon displays.
2. Minimize the System Monitor window.
14
Method Directives
Method Directives
Use the Method Directives program to create and update BPM method directives.
Menu Path: System Management > Business Process Management > Method Directives Maintenance
Important This program is not available in the Epicor Web Access.
A method directive defines a workflow, composed of conditions and actions associated with a business object
method. All data transactions in the application are controlled by business objects such as Update, GetList or
GetNew. A business object represents some type of data managed by the application, such as a customer, part,
or sales order. Objects contain methods that perform a specific task. For example, the Customer.Update method
validates and posts edited customer records to the database.
Tip Two other directive types are available:
Data Directives - applied to database table transactions.
Updatable BAQ Directives - applied to business activity query methods that can update the database.
Business Process Management (BPM) tools can manipulate how these methods perform before, during, or after
database transactions. Create method directives that first evaluate the data being processed and then, if the
directives' conditions are met, perform one or more actions based on this data (for example, prevent data entry,
launch other business processes, and so on). Method directives are invoked entirely on the Epicor ERP Server and
not on the client.
Example You can create a method directive for the Customer.Update method to send an email to a Sales
Manager when a customer's credit limit changes. The same directive can also attach a hold to the customer
record and display a message that indicates the customer record has been placed on hold. Additional
method directives can check for the hold on the customer record and prevent it from being modified until
the Sales Manager releases the hold.
When a business object method is called, all enabled directives associated with the method activate. The BPM
workflow you create for the directive does it's job by executing workflow items in the order you specify.
While the method is active, these directives run at three different processing points:
Pre-Processing These directives execute before the base method runs. After these actions finish, the business
object then runs the base method.
Base Processing These directives run in place of the base method. The base method does not execute.
Post-Processing These directives run after the base method finishes its process.
15
Method Directives
Create a new method directive based on the Part Business Object Update method.
Navigate to Method Directives.
Menu Path: System Management > Business Process Management > Method Directives Maintenance
Important This program is not available in the Epicor Web Access.
16
Method Directives
17
Method Directives
Note
The tt prefix indicates this table is a temporary table - an intermediate table used to validate data
before it is saved to your physical database.
Prefix
Condition
Postfix
None
And
This states that when the Type field in Part Maintenance of the changed row is P (for Purchased) and the
Class field of the changed row is blank, execute the following action(s). You will define these actions in the
following workshops.
11. Click Validate and verify BPM reports no errors.
18
Method Directives
Action
Terminate on error
Raise Exception 0
You are now ready to extend the workflow by adding a second condition to make the Group field mandatory
for manufactured or kit parts.
19
Method Directives
5. In the Condition field, invoke the list and select The specified field of the changed row is equal to the
specified expression.
6. Click the first specified.
7. In the Table field, verify ttPart displays.
8. In the Fields search box, enter type.
9. From the list of available fields, select the TypeCode check box.
10. Click OK.
11. At the end of the Condition field, click specified.
12. In the Editor text box, enter "M" for (Manufactured, including the quotations).
13. In the Specify an expression window, click OK.
14. In the Conditions window, click the Add Line icon.
15. In the Operator field, select Or.
16. In the Condition field, invoke the list and select The specified field of the changed row is equal to the
specified expression.
17. Click the first specified.
18. In the Table field, verify ttPart displays.
19. In the Fields search box, enter type.
20. From the list of available fields, select the TypeCode check box.
21. Click OK.
22. At the end of the Condition field, click specified.
23. In the Editor text box, enter "K" for (Sales Kit, including the quotations).
24. In the Specify an expression window, click OK.
You now extend the condition by adding another line.
20
Method Directives
Prefix
Condition
None
Or
And
Postfix
This states when the Type field in Part Maintenance is M (for manufactured) or K (for sales kit) and the
Group field blank, then execute the action.
12. Click Validate and verify BPM reports no errors.
21
Method Directives
Action Name
Action
Terminate on error
Raise Exception 0
selected
22
Method Directives
Disable Directives
1. Maximize the Method Directives window.
2. In the tree view, select the verify the Pre-Processing XXX Mandatory part and group directive displays.
3. Clear the Enabled check box.
The method directive is now disabled.
4. Click Save.
5. Exit Method Directives.
23
Method Directives
1. Click New.
The Table Search window displays.
2. Search for and select ABCCode.
3. Verify the Table Name field displays ABCCode_UD.
4. In the Description field, enter Added User and Date fields - BPM.
5. Click New > New Column.
The Column > Detail sheet displays.
6. In the Column Name field, enter XXXUser (where XXX are your initials).
Notice the _c suffix is automatically added to the column name.
7. In the Description, enter Current User ID.
8. In the Data type field, verify String displays.
9. In the Format field, enter x(20).
10. In the Label field, enter User.
11. Click Save.
12. Repeat steps 5 - 11 to add another field. Use the parameters from the below table.
Column Name
Description
Data type
Format
Label
DateTime
{datetime}
Date
Synchronize Table
To complete this user-defined table, you synchronize it. This formats the table so it can be linked to the database.
Note this process does not make the table available for display; you need to update the data model to finish
incorporating this user-defined table in your database.
1. Click on the Actions menu.
2. To synchronize the active table, select the Sync Current Table to DB option.
3. To the confirmation message, click OK.
4. Exit User-Defined Table Maintenance.
You are now ready to update the database to include this new table.
24
Method Directives
9. To complete functionality, the latest data model must be pulled from the DB and copied to the local app
server by restarting IIS. To do so, launch the Command Prompt window and enter IISRESET and press <Enter>.
Note Restarting IIS is a mandatory task after the successful data model regeneration.
10. After IIS stops and restarts, close the Command Prompt window.
The data model generates, adding the extended user-defined table to the database. Now that the data model
is regenerated, Epicor users can view and enter data in the extended user-defined table.
Important User Defined columns appear to be part of the base table from the programming/customization
point of view, as the data model merges the two tables into one logical entity.
25
Method Directives
Add an Action
Note You do not need to create a condition statement for this directive. When you do not define a
condition, the directive just executes each time its method is called in this case, the ABCCode.Update
method. This causes the custom C# code to run automatically with the method.
1. Click Design to launch the BPM Workflow Designer.
2. In the workflow items tollbar, click the Execute Custom Code icon and drag it to the workflow pane of
the Designer, below the Start item.
3. Click your mouse, select any of the Start connector symbols, drag the line and point it to any of the Execute
Custom Code element entry points.
The connection between the two elements is now established.
4. Click the Execute Custom Code workflow item.
5. In the Actions pane found at the lower portion of the screen, view the Action statement:
Synchronously execute custom code ... record nothing
26
Method Directives
Note Synchronously means the call is made immediately when the action executes. When
Asynchronous execution is selected, the call is queued and executed according to the schedule defined
in the BPM Async Process program. In this example, accept the Synchronous execution.
27
Method Directives
28
Method Directives
29
Method Directives
Disable Directive
1. Maximize the Method Directives window.
2. In the tree view, select the Pre-Processing directive XXX Log Created by and Date.
3. In the Pre-Processing > Detail sheet, clear the Enabled check box.
The method directive is now disabled.
4. Click Save.
5. Exit Method Directives.
30
General Principles
This topic discusses general principles of creating a BPM workflow by using the workflow elements.
Example
31
32
Note The Validate function does not check syntax in expressions or custom code.
Once you finish, click Save and Exit to return to the respective Directive Maintenance program from which
you called the Designer.
33
Hold Type
Hold Type
Use Hold Type Maintenance to create, maintain, and delete hold types - flags you can place on records.
Menu Path: System Management > Business Process Management > Hold Type Maintenance
Important This program is not available in the Epicor Web Access.
A Hold is a flag you place on a record; it indicates the record should not be processed until it is reviewed and
approved. A hold by itself does not perform any actions. You define the actions by creating directives which
define how the application handles a record that has a hold placed on it. You can attach a BPM hold to a record
in two ways:
Manually You can manually attach a hold onto a field by using the BPM Holds program. You do this by
launching the BPM Holds program from the fields context menu. This adds the hold to the record.
Programmatically A hold can also be attached to a record using a directive action. It can be attached
before, during, or after the business process is run. Typically you use holds to interrupt the processing of the
business object. This hold can then cause custom actions you define for the directive to run. You use Method
Directive Maintenance or Data Directive Maintenance to create these directives.
If the hold is present, the method directive can perform several actions, but a common use is to intercept the
method before processing occurs (pre-processing) to prevent the method from performing its normal routine
(for example, by raising an exception). This type of method directive is known as an inhibitor.
1. In the Hold Type field, enter XXX Customer Review (where XXX are your initials) and press Tab.
2. In the Add New Confirmation, click Yes.
3. Click the Business object button.
4. In the Starting At field, enter Cus and click Search.
34
Hold Type
35
Hold Type
Add an Action
1. In the workflow items tollbar, click the Enable Post Directive icon and drag it to the workflow pane of
the Designer, below the Condition item.
2. Click the Condition's True exit outbound connector (found on the left) and connect it to any of the Enable
Post Directive entry points.
3. Click Validate and verify the BPM reports no errors.
4. Click Save and Exit to return to Method Directives.
5. Select the Enabled check box.
6. Click Save.
36
Hold Type
6. Click your mouse, select any of the Start connector symbols, drag the line and point it to any of the
Condition element entry points.
7. In the workflow, click the Condition item.
8. In the Condition pane at the bottom, click the Add Line icon.
9. In the Condition field, invoke the list and select The specified field of the changed row is equal to the
specified expression.
10. Click the first specified.
11. In the Table field, verify ttCustomer displays.
12. In the Fields search box, enter state.
13. From the list of available fields, select the State check box.
14. Click OK.
15. In the Condition field, click the drop-down next to is equal to.
16. From the list, select is not equal to.
17. At the end of the Condition field, click specified.
18. In the Editor text box, enter "".
This indicates that directive should execute when the Customer.Update method initiates and the Customer
State field is NOT blank.
19. In the Specify an expression window, click OK.
Add an Action
1. In the workflow items tollbar, click the Enable Post Directive icon and drag it to the workflow pane of
the Designer, below the Condition item.
2. Click the Condition's True exit outbound connector (found on the left) and connect it to any of the Enable
Post Directive entry points.
3. Click Validate and verify the BPM reports no errors.
4. Click Save and Exit to return to Method Directives.
5. Select the Enabled check box.
6. Click Save.
37
Hold Type
3. In the Group field, enter XXX (where XXX are your initials).
4. Click Design to launch the BPM Workflow Designer.
5. In the workflow items tollbar, click the Condition icon and drag it to the workflow pane of the Designer,
below the Start item.
6. Click your mouse, select any of the Start connector symbols, drag the line and point it to any of the
Condition element entry points.
7. In the workflow, click the Condition item.
8. In the Condition pane at the bottom, click the Add Line icon.
9. In the Condition field, invoke the list and select this directive has been enabled from the specified
directive.
10. In the Condition text, click specified.
11. In the Stage field, verify Pre (Pre-Processing directive) is selected.
12. In the Directive field, select XXX Condition Test to Remove Hold (where XXX are your initials) and click
OK.
This way, you specify which pre-processing directive enables the post-processing directive you are currently
configuring.
Add an Action
1. In the workflow items tollbar, click the Remove Holds icon and drag it to the workflow pane of the Designer,
below the Condition item.
2. Click the Condition's True exit outbound connector (found on the left) and connect it to any of the Remove
Holds entry points.
3. Click the Remove Holds item.
4. Verify the Action displays Remove holds of the specified type.
5. In the Action text, click specified.
6. In the Hold Type field, select XXX Customer Review (where XXX are your initials) and click OK.
Recall you created this hold type at the beginning of this workshop.
7. Click Validate and verify the BPM reports no errors.
8. Click Save and Exit to return to Method Directives.
9. Select the Enabled check box.
10. Click Save.
38
Hold Type
Add an Action
1. In the workflow items tollbar, click the Attach Hold icon and drag it to the workflow pane of the Designer,
below the Condition item.
2. Click the Condition's True exit outbound connector (found on the left) and connect it to any of the Attach
Hold entry points.
3. Click the Attach Hold item.
4. Verify the Action displays Attach hold of the specified type.
5. In the Action text, click specified.
6. In the Hold Type field, select XXX Customer Review (where XXX are your initials).
7. In the Comment field, enter BPM Hold - Customer.Update and click OK.
8. Click Validate and verify the BPM reports no errors.
9. Click Save and Exit to return to Method Directives.
39
Hold Type
40
Hold Type
13. In the Hold Type field, verify XXX Customer Review (where XXX are your initials) and is attached
populates.
14. In the Select Business Object window, click OK.
This indicates the directive should execute when the ChangeCustomer method is called and the customer
on the order is on Customer Review hold.
Add an Action
Define an action to display an exception message.
1. In the workflow items tollbar, click the Raise Exception icon and drag it to the workflow pane of the
Designer, below the Condition item.
2. Click the Condition element.
3. On the left side of the Condition element, verify True displays.
4. Select the True exit point, drag the line and point it to any of the Raise Exception element entry points.
5. Click the Raise Exception element.
6. In the Actions pane, verify raise exception based on the designed template displays.
7. Select designed to launch the Design Exception Template window.
8. In the Name field, enter Customer Hold.
9. In the text box, enter This customer is on hold because a required field has not been entered - BPM.
This action executes when the Customer.Update method initiates and specified conditions are met.
10. In the Design Exception Template window, click OK.
11. Click Validate and verify BPM reports no errors.
12. Click Save and Exit to return to Method Directives.
13. Click the Enabled check box.
14. Click Save.
15. Minimize the Method Directives window.
41
Hold Type
Disable Directives
1. Maximize the Method Directives window.
2. In the tree view, select the Pre-Processing directive XXX Customer Sales Order.
3. On the Pre-Processing > Detail sheet, clear the Enabled check box.
4. Navigate to the Detail sheet.
5. Click the Method Code button.
6. In the Business Object field, select Customer.
7. Click the Search button to search for and select Customer.Update.
8. In the tree view, select the Pre-Processing directive XXX Condition Test to Set Hold.
9. On the Pre-Processing > Detail sheet, clear the Enabled check box.
10. Click Save.
42
Hold Type
11. Disable the remaining directives created for the Customer.Update method :
XXX Condition Test to Remove Hold
XXX Take Customer Off Hold
XXX Place Customer on Hold
12. Click Save.
13. Exit Method Directives.
43
Data Directives
Data Directives
Use Data Directives Maintenance to view, create, edit, and delete data directives applied to database table
transactions.
A data directive is similar to a method directive, but instead of being launched by a business object method, a
data directive is linked to a database table and is triggered by a database event, such as add, delete, or update.
By applying the directive to a specific table, data directives are used to control data that may be affected by
several business objects.
You can apply most of the conditions and actions from method directives to data directives as well, except in
cases where the condition or action depends on information available in the business object that is not available
in the data itself. Two types of data directives are available:
In-Transaction - Affects data before it is saved to the database. This directive type can only process one row
at a time; it cannot process multiple dirty rows - rows that contain data not yet saved to the database. Multiple
dirty rows are explained later in this course.
Standard - Does not affect data in the database. A Standard directive executes after a data transaction is
saved to the database. This directive type processes multiple dirty rows modified in the database at once. It
runs after base methods and method directives.
44
Data Directives
Add an Action
1. In the workflow items tollbar, click the Auto Print icon and drag it to the workflow pane of the Designer,
below the Condition item.
2. Click the Condition's True exit outbound connector connect it to any of the Auto Print entry points.
3. Click the Auto Print workflow element.
4. In the Actions pane, verify Automatically print specified report with specified options displays.
5. Click the first specified link.
In the search dialog box, the Basic tab presents fields for entering search criteria specific to reports.
6. In the Report Type, verify SQL Server Reporting (SSRS) displays.
7. In the Report Table Level field, verify 'OrderHed' is the Primary table displays.
45
Data Directives
This means only the reports where OrderHed is defined as the primary table will become available for
selection.
8. Click Search.
9. From the list, select OrderAck (Sales Order Acknowledgement) and click OK.
10. Click the specified link.
11. In the Run Schedule field, verify Immediate displays.
This means the action will execute right after the condition is satisfied.
12. For the Print Action, select Auto Preview.
Now you must specify the Report Parameters. On this sheet, you can add or edit the actions associated
with the listed parameters so that values can be passed to the report in the context of the Auto Print action.
13. Select the Report Parameters sheet.
14. In the OrderNum parameter, click the arrow on the right-hand side and select The specified table and
field value.
15. Click the specified link to launch the Select Table Field(s) window.
16. Select ttOrderHed.OrderNum field and click OK.
Verify the OrderNum parameter is set to The ttOrderHed.OrderNum table and field value.
17. In the Set up Auto Print window, click OK.
18. Click the Validate button and verify BPM reports no errors.
19. Click Save and Exit to return to the Data Directives window.
20. Select the Enabled check box to activate the directive.
21. Click Save and minimize Data Directives.
46
Data Directives
Field
Value
Part
DSS-1010
Order Quantity
10
Disable Directive
1. Maximize Data Directives.
2. Clear the Enabled check box to disable the BPM.
3. Click Save and exit Data Directives.
47
48
49
to the ID of the action called by the user as it was specified in the BAQ. Then create directive actions to perform
custom operations.
Menu Path: System Management > Business Process Management > Updatable BAQ Directives Maintenance
Important This program is not available in the Epicor Web Access.
50
51
BPM Utilities
BPM Utilities
Various utilities are available in the Business Process Management (BPM) module.
Action Processing
After you define the method directives your application runs, you are ready to set up the action process schedule.
This regular schedule causes the Business Process Management (BPM) functionality to run and subsequently,
update the BPM task queue and process asynchronous method directives.
To set up the BPM Process task to run on a recurring schedule, create the schedule and set up the process to run
using this schedule.
System Agent
Use System Agent Maintenance to create recurring schedules. Use this program to create the different schedules
you need to run your method directives.
Menu Path: System Setup > System Maintenance > System Agent
Important This program is not available in the Epicor Web Access.
Action Process
Use BPM Async Process to set up a task that deletes outdated BPM Data Form states, processes all asynchronous
Execute Custom Code actions and invokes asynchronous External Method actions in the queue.
Other asynchronous actions such as Send E-mail or Call ESC Workflow are launched asynchronously when the
directive executes; they are not put in the queue and don't require this task to launch them.
You can set up this task to run on a recurring schedule. This automatically processes all calls made by the method
directives.
Menu Path: System Management > Business Process Management > Action Process
Important This program is not available in the Epicor Web Access.
52
BPM Utilities
BPM Logging
The server trace log is an important tool for managing both application and performance issues. You can configure
the trace log to record the BPM specific transaction data you need to review.
Use the Epicor Administration Console to set up server logging settings. The following outlines the process
of enabling the BPM tracing functionality.
1. You launch the Epicor Administration Console from your server machine. Depending on your operating
system, you launch this tool in different ways:
a. If you are on Windows SQL Server 2008 R2, click Start > All Programs > Epicor Software > Epicor
Administrative Tools > Epicor Administration Console.
53
BPM Utilities
b. If you are on Windows SQL Server 2012, press the <Windows> + F button to display the Charms bar;
from the Apps screen, select Epicor Administration Console.
The Epicor Administration Console displays.
2. From the tree view, expand the Server Management node and Epicor Server node.
3. Select the application server you need to monitor.
4. Now from either the Action menu or the Actions pane, select Application Server Settings.
5. In the Application Server Settings window, Enable the Trace Log and configure Log File Location.
6. Within the Standard Logging information, select the BPM Logging check box to record Business Process
Management (BPM) database calls.
Each time user activity activates a BPM, the application server log records the information and gathers the
data results.
54
BPM Utilities
By selecting the BPM Logging check box, you enable the following trace flag in the trace.config configuration
file:
<add uri="trace://ice/fw/BPM" />
The above trace URI tracks the complete BPM information that includes the following:
Business Object customizations made through Method Directives
Data Triggers created using Data Directives
uBAQ customizations - method directives of Updatable BAQs with BPM update
For a detailed analysis, the trace URI can be manually configured to narrow down the information being
tracked:
trace://ice/fw/BPM/BO - to track BO customizations only
trace://ice/fw/BPM/DB - to track data triggers only
trace://ice/fw/BPM/DQ - to track UBAQ customizations only
7. As a result, the server log records the following information:
Example
Op Utc="2013-10-30T13:40:45.2677063Z" act="Ice:BO:Tip/TipSvcContract/Up
date" dur="1006.1712" cli="fe80::d147:d8f4:e54e:5149%10:42111" usr="man
ager" machine="MOS-TLS-DEV-AAA" pid="10788" tid="5">
<BpmCustomization Source="BO" BpMethodCode="ICE.Tip.Update" Type="BO
Customization" ExecutionInterruptedOnDirective="6300f64f-ccd6-4617-9105
-a9784736eb54" Duration="530.9098">
<BpmDirective Type="PreProcessing" ID="6300f64f-ccd6-4617-9105-a978
4736eb54" Name="MyBPMDataForm" IsCompanyIndependent="false" Duration="7
.9992" />
55
BPM Utilities
</BpmCustomization>
</Op>
For each BPM call, the BpmCustomization node is created with following attributes:
Node
Description
Source
BpMethodCode
Type
ExecutionInterruptedOnDirective Applies to BPM Data Form execution only. When the BPM Form invokes,
the service call exits and returns control back to the client. The client then
calls the service again. Therefore, in case of BPM Data Forms two different
operations are tracked.
This value displays the directive's GUID from which the service call was
interrupted.
ExecutionResumedFromDirective
Duration
For the second BPM Data Form operation, this value displays the directive's
GUID from which the service call was resumed.
Time spent on executing a BPM call.
Within the BpmCustomization node, the BpmDirective node holds the following attributes:
Node
Description
Type
ID
Name
IsCompanyIndependent
PreparationStepDuration
Duration
Tip
A single service call may trigger a lot of BPM customizations, even the customizations of different
BOs and tables. They all will be listed under the Op node of this operation.
56
BPM Utilities
The execution of one directive may lead to other customizations being executed, and in case of
synchronous execution (in-transaction triggers, sync invocations of other BO methods), the duration
of the "child" directives will also be counted into the duration of "parent" directive.
Default BO method execution duration (in case it's not overridden by a BaseProcessing direction)
is not counted as part of BO Customization duration.
Since tracing engine allows the user to switch on some tracing functionality for a particular BO
calls, or specific method invocations, it applies to BPM tracing out of the box.
You can evaluate the server log using the Performance and Diagnostic Tool. For more information on how to
test the performance of your system, review the Performance Diagnostic Guide.
Disable BPM
You can use the customizationSettings section found in the web.config located in the server folder of your
Epicor ERP installation to control the application's customization engine.
Example
<customizationSettings disabled="false" intermediateFolder="C:\Inetpub\wwwroot\
EpicorERP10\Server\BPM">
<customizationStorage provider="FileSystem" settings="C:\Inetpub\wwwroot\Ep
icorERP10\Server\Customization" />
<externalsStorage provider="FileSystem" settings="C:\Inetpub\wwwroot\Epicor
ERP10\Server\Customization\Externals" />
<types>
<add name="BPM.BO" folder="BO" cacheName="Epicor_Ice_BPM_BO" />
<add name="Posting" folder="PE" cacheName="Epicor_Ice_PE" />
<add name="ElectronicInterface" folder="EI" cacheName="Epicor_Erp_EI" />
<add name="Expressions" folder="ECF" cacheName="Epicor_Erp_Expressions" /
>
<add name="ProductConfigurator" folder="PC" cacheName="Epicor_Ice_PC" />
<add name="BPM.DT" folder="DT" cacheName="Epicor_Ice_BPM_BO" />
<add name="BPM.Ubaq" folder="Ubaq" cacheName="Epicor_Ice_BPM_BO" />
</types>
</customizationSettings>
When you set customizationSettings disabled = "true", you turn the customization engine off. This means
Method Directives, Data Directives and uBAQ Method Directives processed via BPM are not executed. However,
you can still edit, add and remove BPMs but these changes are saved to the database only and no binaries are
being recompiled or deleted.
When customization engine is turned back on (customizationSettings disabled = "false"), old binaries are
applied. To get the binaries up to date:
Recompile all Method and Data Directives using the Directive Update program.
Menu Path: System Management > Business Process Management > Directive Update
Important This program is not available in the Epicor Web Access.
Recompile and refresh BPM binaries related to selected updatable queries using the Updatable Query
Maintenance program.
Menu Path: System Management > Upgrade/Mass Regeneration > Updatable BAQ Maintenance
57
BPM Utilities
Tip
If an incorrectly configured BPM directive prevents the system from operating or the user from logging in,
removing incorrect directives with disabled BPM is not enough. The user should remove affected binaries
from the Server > Customization folder, for example, from
C:\inetpub\wwwroot\EpicorERP10\Server\Customization and then remove or disable incorrect directives.
Important The customizationSettings disabled = "true" setting also turns off other customization engine
client besides BPM that are defined in the web.config, such as Posting or Product Configurator.
58
Conclusion
Conclusion
Congratulations! You have completed the Business Process Management course.
59