1 BPM Business Process Management Advantage Business Creations.

37
1 BPM BPM Business Process Business Process Management Management Advantage Business Advantage Business Creations Creations

Transcript of 1 BPM Business Process Management Advantage Business Creations.

Page 1: 1 BPM Business Process Management Advantage Business Creations.

1

BPMBPMBusiness Process Business Process ManagementManagement

Advantage Business Advantage Business CreationsCreations

Page 2: 1 BPM Business Process Management Advantage Business Creations.

Session ObjectiveSession Objective

Provide a solid understanding of how BPM interfaces with the business object

Demonstrate and use Pre and Post Processing directives

Demonstrate effective BPM writing and debugging techniques◦ Using informational message◦ Using Progress comment text

Demonstrate extending the wizard with 4GL(ABL) programming

Demonstrate using database tables and fields outside of the method dataset

Page 3: 1 BPM Business Process Management Advantage Business Creations.

Session AssumptionsSession AssumptionsYou can effectively use the condition

and action wizard in BPM

You have base working knowledge of Personalization and Customization

This class extends education and does not use examples in other class materials

Page 4: 1 BPM Business Process Management Advantage Business Creations.

At Course completion you At Course completion you willwillEffectively write BPMs beyond the

wizard.

Receive documentation for all workshops.

Receive recordings of all workshops with embedded documentation

Receive the .bpm examples

Page 5: 1 BPM Business Process Management Advantage Business Creations.

AgendaAgendaBusiness Object BasicsBPM OverviewBPM Workshops

1. Set field values outside dataset using UpdateTableBuffer

2. Use a method to set fields other than Update

3. Use 4GL(ABL)to read records from a table outside dataset

4. Calculate and Roll Up Totals from Detail to Header

5. Epicor 9 BPM Data Form Designer

Q & A

Page 6: 1 BPM Business Process Management Advantage Business Creations.

Business Object BasicsBusiness Object BasicsBusiness object controls all input and out from

the database

Contains all rules for processing records

Contains a normalized relationship between tables and field in the actual database

Contains methods for interfacing with dataCan be called by web services, smart client,

web client or other program

Page 7: 1 BPM Business Process Management Advantage Business Creations.

Business Objects and Method Business Objects and Method DirectivesDirectives

◦Business Object Part SalesOrder

◦Method Part.Update SalesOrder.ChangeMiscCode Part.ChangePartNum

7

Page 8: 1 BPM Business Process Management Advantage Business Creations.

Methods in a Business Methods in a Business ObjectObject

An internal procedure or function. These are used to enter, calculate and view data.

Delete by ID◦ Used to delete records (sometimes)

Get by ID◦ Used to retrieve records for specific ID◦ Returns all the data

Get List◦ Used in searches◦ Returns key data

Get New◦ Used to create a new record

Get Rows◦ Used to retrieve specific data for a group of records

Update◦ Used to add, update and delete records◦ Most common method to use in BPM

Page 9: 1 BPM Business Process Management Advantage Business Creations.

Directives - Contains all rules Directives - Contains all rules for processing recordsfor processing records

Pre-Processing Directives-used to intercept data before it reaches the database.◦Temporary Tables-dataset used to compare to

the existing dataset, ttPartBase Processing -used in place of base

code; difficult to use effectivelyPost-Processing- used to intercept data

returning from the database through the Business Object.

– action to takes place after the record has been successfully validated and updated.

9

Page 10: 1 BPM Business Process Management Advantage Business Creations.

Can be called by web Can be called by web services, smart client, web services, smart client, web client or other programsclient or other programsClient Server (Smart Client)

◦A BPM is an application that resides between the Smart Client (Vantage/Epicor installation on local PC) and the Business Objects.

◦Various Forms and Programs

10

Page 11: 1 BPM Business Process Management Advantage Business Creations.

Simple Flow DiagramSimple Flow Diagram

User \ Program

Business ObjectFunctional Name

Data Base

Pre-Processing Post-Processing

MethodsttTableName.FieldName

TableName.FieldName

4GL(ABL) Program

Page 12: 1 BPM Business Process Management Advantage Business Creations.

Business Process ManagementBusiness Process Management

Execution flow before BPMExecution flow before BPM

Smart Client or Web Service

4GL(ABL)

Code

(Server)

Database

Method Call (e.g. Update Customer)

Call Method Return Result

Data

Data

Page 13: 1 BPM Business Process Management Advantage Business Creations.

Business Process ManagementBusiness Process Management

Execution flow with BPMExecution flow with BPM

Smart Client or Web Service

4GL(ABL)

CodeDatabase

BPM (Pre) BPM (Post)

Method Call (e.g. Update Customer)Data

Data

Page 14: 1 BPM Business Process Management Advantage Business Creations.

Using the Tracing OptionsUsing the Tracing OptionsEnabled from the main menuWrites the information to a file for

review◦ Identifies the relevant Business Object◦ Identifies Method-trigger used to invoke

BPM.◦ Data -positive proof of what is being called

when needed◦ Maps out the flow of data as an user

interacts with a form.

Page 15: 1 BPM Business Process Management Advantage Business Creations.
Page 16: 1 BPM Business Process Management Advantage Business Creations.
Page 17: 1 BPM Business Process Management Advantage Business Creations.

BPM Setup ReviewBPM Setup ReviewMethod Search

◦Search by Business Object / By Method

◦Necessary when a BPM does not already exist for a given BO and Method

Page 18: 1 BPM Business Process Management Advantage Business Creations.
Page 19: 1 BPM Business Process Management Advantage Business Creations.

BPM Review BPM Review Directive Search

◦Used to search for existing BPM’s◦Useful for grouping associated BPM’s

Page 20: 1 BPM Business Process Management Advantage Business Creations.
Page 21: 1 BPM Business Process Management Advantage Business Creations.

Conditions – Overview Conditions – Overview Pre-Process

◦Advance Procedures Example – As it appears in the Actions

window [custom source code]

Post-Process◦This directive has been enabled from

the specified directive Used when condition in the Pre-Process to

enable an action in the Post-Process.

Page 22: 1 BPM Business Process Management Advantage Business Creations.

Row ModsRow ModsConditions

◦Row Mods Updated (RowMod = ‘U’) Added (RowMod = ‘A’) Deleted (RowMod = ‘D’) Changed (RowMod = ‘U’ or RowMod =

‘A’)

Page 23: 1 BPM Business Process Management Advantage Business Creations.

Actions – OverviewActions – OverviewPre-Process

◦Send e-mail synchronously based on the designed template

◦Execute 4GL(ABL) code Example – execute 4GL(ABL) update ship

via The verbage ‘update ship via’ is accomplished by

commenting out the first line in 4GL(ABL) code.

◦Show informational message based on the designed template Issue a warning – can include data from

fields related to the transaction to help debug

Page 24: 1 BPM Business Process Management Advantage Business Creations.

Actions – Overview Actions – Overview Post-Process

◦ Call the specified Epicor Service Connect Workflow specify how

◦ Attach hold of the specified type Must set up holds first in Hold Type Maintenance

under Business Process Management/Setup\Hold Type

This action is also available in Pre-Process

Page 25: 1 BPM Business Process Management Advantage Business Creations.

QueriesQueriesQueries are written using the progress or

4GL(ABL) language◦ Resources

BAQ’s Progress 4GL(ABL) Handbook Progress 4GL(ABL) Reference Progress Programming Handbook (available for download from

the Progress website).◦ 4GL(ABL) format Example –

for each ttPartTran where (ttPartTran.RowMod = 'U' or ttPartTran.RowMod = 'A' and ttPartTran.TranType = 'MFG-STK') ,

each JobHead each JobPart where JobHead.JobNum = ttPartTran.JobNum and

JobPart.JobNum = ttPartTran.JobNum and(Jobhead.QtyCompleted - JobPart.ReceivedQty) <

ttPartTran.TranQty English translation – Show me when someone attempts to

receive more parts into stock from a job than are currently reported complete on that job.

Page 26: 1 BPM Business Process Management Advantage Business Creations.

Queries Queries

Page 27: 1 BPM Business Process Management Advantage Business Creations.

Queries Queries

Page 28: 1 BPM Business Process Management Advantage Business Creations.

Advanced & 4GL Code Advanced & 4GL Code ActionsActions

Advanced Procedure◦In any Condition

or Action Box there is a button labeled ‘Advanced’

◦Enter 4GL(ABL) code

Page 29: 1 BPM Business Process Management Advantage Business Creations.

Advanced & 4GL(ABL) Code Advanced & 4GL(ABL) Code Actions Actions

4GL(ABL) Actions◦ Used to execute 4GL(ABL) code which can

consist of any combination of queries, definition of variables, calculations, updating fields, and or calling other progress functions/programs Ex. of a function: Run lib\UpdateTableBuffer.p(input

BUFFER<Table>:Handle,’<Field>’,<Value>)

◦ When to use Advance Procedure or execute 4GL(ABL) Code?

Page 30: 1 BPM Business Process Management Advantage Business Creations.

Advanced & 4GL(ABL) Code Advanced & 4GL(ABL) Code Actions Actions

4GL(ABL) Code◦ Run lib\UpdateTableBuffer.p(input BUFFER

<Table>:HANDLE, '<Field>',<Value>) Used to update fields in tables unrelated to the current

transaction

◦ Assign Used to update a field in table related to the current

transaction

Page 31: 1 BPM Business Process Management Advantage Business Creations.

Advanced & 4GL(ABL) Code Advanced & 4GL(ABL) Code Actions Actions 4GL(ABL) Constants

◦DCD-USERID Current User ID

◦CUR-PLANT Plant transacting in

◦CUR-COMP Company transacting in (ID)

◦CUR-COMP-NAME Company Name (see Company

Maintenance)

Page 32: 1 BPM Business Process Management Advantage Business Creations.

THANK YOU!THANK YOU!◦ BPM Interactive Workshops

#1 & #2 will utilize the Epicor Knowledge Mentorto demo; then attendees will work on each workshop.

#3 & #4 will utilize Live Vantage 8.03.407c to demo; then attendees will work on each workshop.

#5 Live in Epicor 9

◦ General Q&A

Page 33: 1 BPM Business Process Management Advantage Business Creations.

BPM Ex1BPM Ex1

Set field values outside dataset using UpdateTableBufferSet field values outside dataset using UpdateTableBuffer

Objective: Default Material Burden % rate at Part based on PartClass.Update. In this example material burden % rate will be used but the concept can be applied to a number of methods.

Concepts◦Using a method to set field values outside

data set using UpdateTableBuffer.p command.

◦Using calculations within a directive

Page 34: 1 BPM Business Process Management Advantage Business Creations.

BPM Ex2BPM Ex2

Setting Field Before UpdateSetting Field Before Update

Objective: Default order misc amount based on total order amount. In this example we will use misc charge but the concept can be applied to a number of methods.

Concepts◦ Using a method to set fields values before

update◦ Using calculations within a directive

Page 35: 1 BPM Business Process Management Advantage Business Creations.

BPM Ex3BPM Ex3

Setting Fields from Another TableSetting Fields from Another Table

Objective: Default fields from the part master. In this example we will use the order line but the concept can be applied to a number of methods.

Concepts◦ Population of fields before the record is saved◦ Using Post Processing Directive◦ Using the information message as a debug tool◦ Using Method directive without a condition◦ Using 4GL(ABL) code to read records from a table

outside of the dataset

Page 36: 1 BPM Business Process Management Advantage Business Creations.

BPM Ex4BPM Ex4

Calculate and Roll Up TotalsCalculate and Roll Up TotalsObjective: Calculate and roll up

totals from a sub table to the header. In this example we will use the order line but the concept can be applied to a number of methods.

Concepts◦ Using 4GL(ABL) code to read records from a

table outside of the dataset◦ Using 4GL(ABL) variable to calculate and

accumulate totals

Page 37: 1 BPM Business Process Management Advantage Business Creations.

BPM Ex5BPM Ex5

BPM Data Form DesignerBPM Data Form DesignerObjective: E9 BPM Data Form Designer program creates custom forms that can then launch through BPM method directives

Concepts◦ Use “Call the named BPM Data Form using no

customization always” action within a directive.◦ Create simple form which contains text and two

buttons; data entry fields that update r database.  ◦ Conditionally display a form or capture data

required against a specific transaction.