Title: Workflow Tips
1WorkflowTips Tricks
Session Code 3206
- Ulrich Mende
- Mende EDV Beratung
2Deadline Calculation with SAP Calendar
Functions Deadline calculation should be based
on the active factory calendar in the SAP
system. Working time should be used as the
Offsets in deadline calculation. Weekends and
holidays have to be omitted. Example In case
an Approver did not complete his/her workitem
after 2 working days deadline processing will
send a mail to a responsible person. Workitem
arrives Monday, 400 p.m. Mail should
arrive Wednsday, 400 p.m. Workitem
arrives Friday, 400 p.m. Mail should
arrive Tuesday, 400 p.m. (not Sunday 400 p.m.)
3Setup deadline calculation in activity dynpro ?
LatestEnd
4Use radio box Expression for your own
calculation of deadline date and time
Expression for deadline date
Expression for deadline time
5- Notes for the solution
- An agent can execute the workitem only after it
arrived in his inbox ? a calculation regarding
workitem creation time is of interest - Workitem creation time is not known at workflow
creation time ? deadlines can not be calculated
before starting the workflow - Deadline calculation must be carried out in the
workflow at runtime ? ABAP coding in an BOR
object type (method or virtual property) is
needed - Deadlines should be set for tasks of several BOR
object types (FIPP, MARA ...), but these types
should not be changed or subtyped - Consequence Special object type for deadline
calculation
6Special BOR object type ZDEADLINE
Numerical offset relating to workitem creation
time
Time unit for offset (minutes, hours, days)
Factory calendar for calculation (table TFACD)
Calculates date for deadline using factory
calendar ( FM END_TIME_DETERMINE)
Calculates time for deadline using factory
calendar ( FM END_TIME_DETERMINE)
7Definition of ZDEADLINE-elements in the workflow
container
8Set up key values for ZDEADLINE object by
Triggering events or by Initial values
F4
9Use virtual properties of ZDEADLINE object as
deadline expressions
10ABAP code of object type ZDEADLINE
Text file
11Filter Report for Workitem Selection
12Workitem Selection in a Development System
13Workitem Selection in a productive system
Lots of workflow- and object instances in the list
Workitems are sorted by ID
14Workitem hierarchy, modelled in table SWWWIHEAD
Find a toplevel WI to a givenBOR object
instance In table SWW_CONTOB
F 13007 STARTED
WI_CHCKID 13007
E 13008 STARTED
W 13009 COMPLETED
F 13234 STARTED
Find a toplevel WI to a given WI going up the
hierarchy by field WI_CHECKID
WI_CHCKID 13234
W 13236 COMPLETED
B 13413 COMPLETED
W 13414 READY
Find all WIs, related to a toplevel WI going down
the hierarchy recursively
Multi step items (Subworkflows)
Single step Items
15Selection screen of report Z_FILTER_WF
A n y WI-ID, if not toplevel, toplevel is found
STARTED, COMPLETED, CANCELLED, ERROR
Task of Type WS or WF
BOR object type
Key of BOR object instancewildcards are allowed
Date and time of workflow creation
16Basic list of report Z_FILTER_WF (ALV-list of
toplevel workflows)
Task and object type are corresponding
Full key of object instance
Toplevel IDs
Type is always F
Count of WIs in the workflow
17Workitem Selection for the result of report
Z_FILTER_WF
6 days between creation of workflow and last WI
22.000 WI-IDs between workflow and last WI
18ABAP code of filter report Z_FILTER_WF for
workitem selection
Text file
19 Thank you for
attending! Please remember to complete and return
your evaluation form following this session
(session code 3206).
20 The solution Special object type ZDEADLINE
? virtual properties for deadline date
and time ? no reference to database table ?
separates calculation of deadlines from business
properties ? no changes to business objects
necessary ? one deadline object type for
several business object types ? good
performance (no RFCs) ? import parameters by
key values ? alter parameters of deadline
calculation at runtime
21- 5 steps to use the suggested solution
- Create a BOR object type ZDEADLINE3 keys, frames
for 2 virtual properties - Copy ABAP code for virtual properties Set state
to implemented, generate object type, test
properties - In the workflow that contains the activity with
deadline processing define one or more ZDEADLINE
container elements - Set up initial values for the container element
- Use virtual properties of the object as deadline
expressionsin activity dynpro