Table of Contents

Open all
Close all
1 Introduction
11
2 Getting Started
15
2.1 Customizing the Workflow Engine
15
2.1.1 Implementing Customizing (Transaction SWU3)
15
2.1.2 System User WF-BATCH
17
2.1.3 Logical RFC Destination WORKFLOW_LOCAL_xxx
18
2.1.4 Checking the Customizing (Transactions SWU3 and SWUI_VERIFY)
19
2.2 Starting Workflows and Monitoring the Workflow Events
23
2.2.1 Monitoring Events (Transactions SWELS and SWEL)
24
2.2.2 Considering Workflow Definitions (Transaction SWDS)
27
2.3 Maintaining a Minimal Organizational Structure
32
2.3.1 Creating Organizational Units (Transaction PPOCW)
33
2.3.2 Editing Organizational Units (Transaction PPOMW)
35
2.3.3 Assigning SAP Users to Positions
38
2.3.4 Testing the Agent Determination (Transaction PFAC)
40
3 Compiling a Workflow Development Environment
43
3.1 Relevant Transactions
43
3.2 Workflow Development Process with Standard SAP Functions
44
3.3 Events
45
3.3.1 Event Type Linkage
46
3.3.2 Event Instance Linkage
47
3.4 Where-Used Lists in SAP Business Workflow
48
3.4.1 From Object to Standard Task to Workflow Template
48
3.4.2 From BOR Object to Standard Task (Classic)
49
3.4.3 From ABAP Objects Class to Standard Task (Classic)
50
3.4.4 From Standard Task to Workflow Template
51
4 Methods, Work Items, and Events
53
4.1 Types of Methods in the Workflow
53
4.2 Types and Statuses of Work Items
56
4.3 Events and Their Delivery
59
4.3.1 Check and Receiver Type Function Modules
61
4.3.2 Event Queue
64
5 Intervening in the Agent Determination
67
5.1 Creating a Workflow
67
5.2 Determining and Selecting the Agent Determination Dynamically
68
5.3 Testing the Workflow Template
72
5.4 Modeling the Agent Determination Using Task Groups
75
5.5 Agent Determination with Responsibilities
81
5.5.1 Creating Rules Based on Responsibilities
83
5.5.2 Integrating a Rule with the Workflow Template
86
5.6 Programming the Agent Determination
88
5.6.1 Creating Classic Function Modules for Agent Determination
89
5.6.2 Creating an ABAP Class for Agent Determination
94
6 Containers, Binding, and Conditions in the Workflow
97
6.1 Preparation
97
6.2 Container—Location of the Data Used by a Workflow
98
6.2.1 Event Container
100
6.2.2 Workflow Container
100
6.2.3 Rule Container
101
6.2.4 Task Container
101
6.2.5 Method Container
102
6.3 ABAP-Coding with Containers (Macros)
102
6.4 ABAP Objects Classes for Handling Containers, Bindings, and Conditions
105
6.5 Coding Example for Containers, Bindings, and Conditions
107
6.5.1 Creating Container Elements
107
6.5.2 Creating Containers
109
6.5.3 Converting Containers
111
6.5.4 Creating Workflow Conditions
112
6.5.5 Defining the Binding
115
6.6 Advanced Functionality in the Binding
118
6.7 Programmed Binding
119
7 Sample Project—Designing an ABAP Objects Class for the Workflow
123
7.1 Initial Situation
123
7.2 Specific Features in the Workflow Environment
125
7.3 Creating a Class, Integrating IF_WORKFLOW, and Defining Key Attributes
126
7.4 Managing and Creating Instances
128
7.5 The Little Persistence in Between
133
7.6 Troubleshooting with Exception Classes
138
7.7 Creating Workflow Events from ABAP Objects Classes
140
7.8 BOR Objects as Attributes in ABAP Objects Classes
143
8 Sample Project—Designing a BOR Object for the Workflow
147
8.1 Initial Situation
147
8.2 Creating a New BOR Object
148
8.3 Creating Persistence for BOR Attributes
150
8.4 Creating Key and Other Attributes
151
8.5 Creating BOR Methods
159
8.5.1 Additional BOR Interfaces
161
8.5.2 Redefining the “CREATE” Method
161
8.5.3 Method Containers for Parameters
162
8.5.4 Redefining the “DELETE” Method
164
8.6 Exceptions and Errors
166
8.7 BOR Events
167
8.8 BOR Release Statuses
169
8.9 Default BOR Specifications
170
8.10 Inheritance and Delegation in BOR
172
Appendices
175
A Step Types and Sample Workflows
177
A.1 Step Types
177
A.2 Other Workflow Technologies
181
B Important Transactions
183
C The Author
187
Index
189