Вы находитесь на странице: 1из 12

Performance and Workflow

Relevant for 4.6C


Table Of Contents
Performance and Workflow________________________________________________1
General_____________________________________________________________________2
Programming Tips____________________________________________________________2
Basis / Config Tips____________________________________________________________2
Archiving Workitems_________________________________________________________4
Tables______________________________________________________________________5
SWWWIHEAD____________________________________________________________________5
tRFC and qRFC tables_______________________________________________________________5
Upgrade considerations for workflow_________________________________________8
Diagnosing Problems____________________________________________________10
Transaction W!"__________________________________________________________#$
econ%ar& "iagnosis Transactions______________________________________________#$
'mmar& of the man'al alternative to W!"____________________________________##
Performance and Workflow Page 1 of 12
General
To avoid an unnecessarily high number of tRFC calls during workflow implementation
some activities of the workflow runtime system such as data flow or processor
determination are carried out under the userid of the person responsible instead of
under WF!"#TC$%
NOTE: Remember to assign this user the necessary authori&ations in particular for the
$R authori&ation ob'ect P()*% #ssign more authori&ations to the person responsible +for
e,ample for P()* we recommend the profile P-P(#.-#((/ or add empty background
steps to your workflow definition +for e,ample based on the single step task
T012222233 ob'ect type WFT0 method 45PT6-"#C7*R)8.9/% 8ltimately there is a
trade!off between security and performance% +0ee 0#P .ote :;;:<:/
.ote= The background user for the workflow runtime system or a user who creates an
event always occupies a work process if a transactional RFC is sent% This occurs during
the following actions in workflow=
o When starting event receivers +that contains e,iting an asynchronous method/%
o When starting a background step whose predecessor was not e,ited by an event%
>nbo,
o The selection time of work items in a user inbo, increases with the number of
tasks which the user may process%
o The selection time also increases with the number of available work items%
o 9ata of a work item may have to be read by the database%
Programming Tips
Reducing the number of work items for each workflow
o Replace reading?calculating background methods by virtual attributes +for the
evaluation of a virtual attribute no work item is created/%
o *roup together several small background methods in one large group +a work
item is created for every background step/%
Preventing unnecessary tRFCs
o Replace asynchronous methods by synchronous methods +thus the system does
not have to e,ecute the e,iting event @ tRFC/% This is usually possible if the
method is not e,ited in the update program%
o 9o not check input data in the first workflow step but use the option to enter a
check function module in transaction 0W42% Thus you avoid the generation of
unnecessary work items and the relocation of unnecessary tRFCs%
9efine the task assignment in the organi&ational model concretely% +9o not classify tasks
as general tasks/% 4very user should only be a possible agent of very few tasks%
Basis / Config Tips
Restrict the number of application servers on which you can start event receivers of
events generated on a large!scale% #s a result other application servers will be available
for AregularA online operations% To do this create a RFC destination of the type A1A in
transaction 05;1 and permit the load distribution% Remember that system parameters
control the intervals according to which the message server searches free application
servers% Then enter this destination in the detail screen for the event in transaction
0W42%
Remove columns from the starting configuration of the inbo,% # subseBuent selection of
the database occurs for the following columns=
o Task long name
o Finish by date
Performance and Workflow Page 2 of 12
o Finish by time
o )verdue +up to and including Release 1%1>/
o )b'ect +in older releases ob'ect key 1/
o *roup +in older releases ob'ect key 2/
#rchive work items that are not reBuired for a longer period and subseBuently update the
database inde,es +read also notes :2C:1 3D;3;/% #llow the system to buffer as much
data as possible% To do this maintain the entries in group WF()W in table T::02 +in
particular entries with identification codes "8F >.")E R)(4/% With WF()W >.")E
the buffer mode is set for tasks that are assigned to a user as well as for organi&ational
assignments of users% We can assume the following values=
o A>A = "uffering in database >.9E refreshment at least once a day
o A0A = "uffering in the shared buffer on the application server
o A A = .o buffering
WF()W R)(4 is used to check the result of the agent determination% AEA
+recommended/% The agent is checked if it is a possible agent +and not an e,cluded
agent and so on/%
WF()W "8F is no longer%
#s the system is running inde, records are freBuently created for the workflow runtime
tables and then deleted again% This has a negative effect on performance during
accesses via these inde,es%
Note that you MUT shut down the !"# ystem before startin$ the pro$ram
9epending on the data volume of the processes inde,es of the database runtime tables
should be reorgani&ed regularly +for e,ample on a monthly basis/% >f you use )R#C(4 or
>.F)R5>E you can use the 0#P tool 0#P9"# to do this%
# reorgani&ation should always be started after an archiving run%
The following tables ? inde,es should be edited in this case=
0WW-C).T ! >nde, 2
0WW-C).T)" ! >nde, 2
>nde, #
0WWW>9$ ! >nde, 2
>nde, #
0WW)R*T#07 ! >nde, 2
>nde, #
0WWW>#*4.T ! >nde, 2
>nde, #
>nde, T6P
0WWW>$4#9 ! >nde, 2
>nde, #
>nde, "
>nde, C
>nde, 4 +as of Release 3;# if distribution is used/
0WWW>94#9( ! >nde, 2
0WWW>R4T ! >nde, 2
>nde, #
0W4>.0TC)8 ! >nde, "
>nde, C
>nde, 9
Performance and Workflow Page 1 of 12
0WW()*$>0T ! >nde, 2
>nde, 1 +as of Release 3%<#/
0WF#> ! >nde, 2 +if work Bueues are used/
0WF#>4.TR6 ! >nde, 2 +if work Bueues are used/
0WF#>R4T ! >nde, 2 +if work Bueues are used/
0WP.)94()* ! >nde, 2
0WP0T4P()* ! >nde, 2
0WP-#95-80 ! >nde, 2 +as of Release 3%;#/
0WP-$4#94R ! >nde, 2
0WW">.94F ! >nde, 2 +as of Release 3%2#/
0WWR8.54T$ ! >nde, 2 +as of Release 3%2#/
0WW0WPR4T ! >nde, 2 +as of Release 3%2#/
0WP-.)94W> ! >nde, 2 +as of Release 3%<#/
>nde, .)9
Archiving Workitems
Production: >n production systems it is recommended you archive workitems using the
ob'ect W)R7>T45% 6ou can only archive workitems of status C)5P(4T49 or
C#.C4((49% +8se transaction 0#R#/ >t is .)T recommended you use report
R0WWW>94 in a production system because the report does not check dependencies
so there is always a danger to delete steps in a flow which is not completed%
%e&elopment"Test: .ote+3D;3;/ To delete workitems using reports R0WWW>94 and
R0WW$>94 please refer to note 3D;3; for additional details=
o R0WWW>94 ! this report deletes the work item including all attachments and
dependent work items%
o R0WW$>94 ! this report deletes the work item history%
o >f you have large amounts of workitems to be deleted it may be necessary to
restrict the selection criteria in R0WWW>94 by specifying specific date ranges
work item types or work item status% To be more concrete you can even run
R0WWW>94 without anything specified in order to delete all workitems in the
system% $owever #(( workitems will be permanently deletedG
'%ocs: 9eletion of type C workitems= .otes+1;122; H 12<<:C/ 9uring >9oc inbound
processing an application ob'ect is generated from an >9oc% "efore Release 3%<# the
relation between both ob'ects is implemented via the so!called Container>tems +type C
work items/% #s of Release 3%<# the links between the >9ocs and the application ob'ects
generated from them are stored via new functions and Container>tems are no longer
created%
0ince the work items in the user inbo,es are not private copies unlike mail but are only
references to a single work item it is not possible to delete the inbo, of only one user% Work items
can only ever be deleted as such that is from the inbo,es of all users%
Reports R0WWW>94 and R0WW$>94 are available for this% "oth reports are purely
administration tools% They delete all selected work items directly without further warning
messages or authori&ation checks in the database% R0WWW>94 deletes the work item as such
+including its attachments and all dependent work items/ R0WW$>94 deletes the work item
history% R0WWW>94 can also delete work items which are not in a final status or that are part of
a higher!level workflow% #fter e,ecuting the reports there is not a possibility to reconstruct the
deleted work items%
For safety reasons we recommend first starting both reports online making the reBuired selection
and setting the flag I)nly display listI% #fter making sure that the reBuired selection is correct the
actual deletion should occur in a background for performance reasons whose only step is the
Performance and Workflow Page 3 of 12
report R0WWW>94 +or as a second step R0WW$>94/ in the variant determined beforehand%
#s of Release 1%29 you have the option of archiving work items% For this both an archiving
ob'ect W)R7>T45 and an archiving class W)R7>T45 were implemented within the #rchive
9evelopment 7it +#97/ for work items% 8sers of this function should first make themselves
familiar with the #97 +for e,ample via the online documentation/%
To delete work items via the #97 an archiving file must first be created% The work items stored in
this archiving file can then be deleted in a second step via the #97% The archiving and the
deletion of work items via the #97 is described in detail in the online documentation for Workflow%
When archiving it should be noted that attachments for a work item are not archived as well but
are deleted from the database in the deletion step which possibly follows%
The history for a work item and the step log for a workflow are deleted automatically when you
use the #97%
For reasons of consistency it is not possible to reload the archived data from the archive to the
original database tables since the numbers of the archived work items are used again at a later
date% Therefore new data could be overwritten with old values during the reload%
$owever it is possible to read the data in internal tables for possible separate evaluations% Report
R0WW#RCR is an easy e,ample of such a read program% This report is considered as a
templated for reading reports created by the customer in accordance with his reBuirements%
The actual data read back happens via the function module 0WW-W>-(>0T-#RC$>J49-R4#9%
Tables
WWW'(E)%
9ifferent selections of data of the table 0WWW>$4#9 take a long time%
o To stop this incorrect behavior of the database you must change the secondary
inde,es on 0WWW>$4#9 so that the respective inde, contains the client +field
C(>4.T/ as an additional first field%
o #fter this change the database statistics must be refreshed if necessary%
o .ote that the change to the secondary inde,es reBuires that you reconstruct the
respective inde,es% 9uring this time you cannot use the workflow system% 5ake
sure that all entries that are no longer reBuired have been archived and deleted%
t!*C and +!*C tables
The system has a very high interface load and?or many tRFC?BRFC entries are in the error status
and?or many tRFC?BRFCs wait for their processing
"efore you solve the problem you must make a more precise analysis of the problem%
1% )utgoing t?BRFCs
Check whether you use tRFC or BRFC=
8se Transaction 041< to check how many entries are contained in table #RFC00T#T4%
.ow determine for how many entries field #RFCR4T8R. is empty in table
#RFC00T#T4%These entries stand for tRFCs which have not been processed yet or
which encountered errors% Tables #RFC00T#T4 and #RFC09#T# are affected here
these tables contain many entries% +refer also to point ;/
#ll entries of table #RFC00T#T4 for which the #RFCR4T8R. field is not empty come
from BRFCs which are either not yet processed or which are in an error status%$ere
tables #RFC00T#T4 #RFC09#T# and TRFCK)8T are affected by the growth +refer
also to 1/% +see also 1rd/
1% >ncoming t?BRFCs
Performance and Workflow Page ; of 12
a/ Table #RFCR0T#T4 contains many entries it does not matter if these were
written by tRFC or BRFC% Find solutions in .ote 1<<C<D%
b/ Tables TRFCK>. TRFCK9#T# or TRFCK0T#T4 contain many entries% These
are BRFC% +Refer also to 3%/
The following describes known solutions% >f there is no solution for the situation in your system
open a message under component EE!04R!TCC 0#P will complete this note systematically%
*enerally you should not delete tRFC entries +especially BRFC entries/ because as a result the
applications that the databases use to communicate become inconsistent%+)nly some cases
mentioned in .ote 1<<C<D are e,ceptions/ #part from that the following always applies=#fter
deletion you must check and restore the consistency of the databases involved%
2% 7nown solutions for outgoing +sending/ BRFC =
a/ 4,ample #P)
When you call Transaction 05K1 many Bueues are on CP>C4RR% The system
writes this error if the data reBuired by the (ive!Cache was blocked during e,ecution% .ormally
the system post!processes this error automatically +by default every 1; min/% >f you want to make
this post!processing immediately you can subseBuently send the Bueues from 05K1 manually%
6ou do not have to mind the seBuence of the Bueues the BRFC identifies automatically which
other Bueues must be processed in which seBuence within the same (8W%
$owever if no lock but a real CP>C error is the cause for the CP>C4RR +e,ample=
target system not started destination not maintained in 05;D %%/ you must correct the error
before post!processing%
a/ 4,ample CR5 mobile sales
>n Transaction 05K1 many entries stand for Bueues having the name
CR5-0ite-22%%%%EE in status .)04.9% *enerally these Bueues have many +L 122/ entries the
first date +oldest Bueue entry/ is older than one week%
These Bueues are the Bueues of the mobile clients%The owner of the mobile client
have not logged on to the CR5 +C).TR#.0 not started/ from the 05K1 after the Ifirst
dateI%The system constantly places Bueue entries into the outbound Bueue for each individual
mobile client this has the effect that the Bueues andd thus the BRFC table grow this is due to the
9eltaload from the )(TP and the replication of the data in the middleware%This results in a poorer
performance for all BRFC users and above all for the communication to the )(TP 0ystem%
+The growth per Bueue depends above all on the Buantity of data subscribed for
the mobile client%
0#P recommends limiting the Buantity to the minimum from the beginning%
The only solution here=The mobile clients must log on to the CR5 and start
C).TR#.0 on a regular basis +at least once a week/% C#8T>).=>f one or more clients are no
longer reBuired or have no owner they must be logged off from the admin station by the
administrator% Temporarily this actually causes load on the system however this causes a
consistent removal of the Bueues%
1% 7nown solutions for incoming BRFC=
a/ CR5= in Transaction 05K2 Bueues stand on 0T)P%
4ither the CR5 application writes this 0T)P or it is set manually% # short 0T)P
triggered by the application is normal%
>f however the Bueues stand on 0T)P for a long time and were not deregistered
by purpose in 05KR an application problem e,ists% This can either have been caused by a
short!term lock of the application ob'ect and a simple reset of the status and thus processing
again helps%
)r a real application error may e,ist you can determine the cause by using
Transaction 05W21=0elect the date according to the Bueue 0T)P date select the corresponding
Performance and Workflow Page < of 12
line and choose the A4rrorA button% The system displays the application error which has to be
solved by the user department% #fterwards you can trigger the Bueue again from 05W21 via
menu 5essage !!L Process !!L Retry to process%
>f you have intentionally deregistered the Bueue note that stopping many Bueue
entries for a long time can also affect the performance% 6ou should register and process the
Bueues again as soon as possible%
1% 7nown solutions for outgoing tRFC=
8sing Transaction 05;C check now for all users which function module is supposed to
be processed by the TRFCs=
a/ For function modules= A0WW-W>-MA and a status te,t indicating an error there
is a workflow problem% First check the workflow Customi&ing using Transaction
0W81 and continue to search for possible workflow errors%
>f you corrected the error try to re!process the tRFC% >f that does not work
technically you must first contact your workflow!application department to clarify which steps are
to be taken in order to ensure the business flow before you use the IReorgani&ationI via
Transaction 05;C to delete the entries that cannot be re!processed%
a/ For function module= I>9)C->.")8.9-#06.C$R).)80I +Release 3%E
and higher/ or I>.")8.9->9)C-PR)C400I +1%E release/ and a status te,t that
refers to an error there is a #(4?49>!RFC transmission problem%
Please check the technical function of the interface +9estination test in
Transaction 05;D checking of the #(4?49> Customi&ing for this interface/%
Correct the error and then re!process the tRFC otherwise this >9)C is lost for the
business process%
a/ # common cause with the use of #(4?49> in the system in Releases as of 3%<
is that the error workflow is delivered for these interfaces but the general
workflow Customi&ing is not delivered% 0ince the workflow for the error handling
cannot be deactivated in 49> carry out the workflow Customi&ing in this case
and define processors for the work items%
>n #(4 you have the choice to carry out the error handling either via the workflow
or via Transactions "9C: and "9CC%>f you choose "9C:?CC you can deactivate the workflow for
the troubleshooting% 0o the TRFC entries for the error workflow are suppressed%
Concerning the deactivation of the error workflow for #(4 and 49> proceed as
follows=
Transaction W49>!L Control !L 0ystem Process Code% $ere you can deactivate
each standard tasks by selecting AinactiveA%
9eactivate the event linking via Transaction 0W42 by removing the cross in the
IType (inkage activeI% $ere you can deactivate the error workflow on message
type level% 6ou might only deactivate the event linking for certain message types%
0et event PR)C4000T#T4R4#C$49 always to AactiveA for the >9oc ob'ect if you
are communicating via the file interface otherwise no immediate processing is possible%
>f the error workflow has been deactivated and the >9)C errors have been
corrected with "9C:?CC you can delete the corresponding entries in the TRFC tables using
Transaction 05;C%
Up$rade considerations for workflow
,atch input processin$ is a useful way of calling up R?1 functionality with pre!filled
fields% #s such it is well suited for use within workflow where much of the data comes
Performance and Workflow Page : of 12
from the workflow container% >t also allows a work item to navigate to a certain screen
within a transaction making the task easier to carry out% 8nfortunately transactions
change from release to release and this is outside the control of workflow% This means
that a "9C method created by a customer in one release may no longer work in the ne,t
release%
o 0olution= 8se "#P>s where possible instead of "9C methods% 5ark your "9C
methods clearly even going to the e,tent of making this show up in the method
name +e%g% I8pdate5aterial-bdcI /% Create a catalog of "9C methods in your
technical documentation and make sure that these methods are tested using the
workflow test tools in the development system before going productive in the new
release%
ynchroni-ation of the update task. This problem is the result of optimistic workflow
modeling where an incorrectly modeled workflow happens to work in one release but
stops working in the ne,t% % 5ethods that use the update task to write data should be
defined as asynchronous tasks with terminating events coming from the update task
itself% This guarantees that the data is written to the database before the workflow
continues% >f this is not the case the ne,t step in the flow may be e,ecuted before the
changes in the previous step have been written to the database% This is particularly
important for AcreateA methods where the ne,t step will fail if it uses attributes of an ob'ect
that have not yet been written to the database% >n other words changes are read before
they are written% This problem is particularly acute during release upgrades because the
performance of the workflow system has been increased from release to release%
Whereas in earlier releases the update task may have been faster than the workflow
system so the data was processed in the foreseen order this may no longer be the case
after the upgrade%
o 0olution= Jerify that all steps that write database changes have been correctly
modeled% >f the change is not relevant for the immediately following steps the
step can be ignored% >f it looks as if there could be a timing problem either
convert the step to an asynchronous task with terminating events or ensure that
the Iupdate taskI is switched off for the offending method% There is a parameter
to force the Iupdate taskI to run synchronously for the C#(( TR#.0#CT>).
command% 4%g% C#(( TR#.0#CT>). A5R21A 80>.* bdc-data 8P9#T4 A0A%
#synchronous tasks are the better solution but reBuire changing the workflow so
there will be situations where it makes more sense to simply turn the Iupdate
taskI off for that method%
E&ent tri$$erin$ in (!. Prior to release 3% 2 events triggers could be customi&ed for $R
changes using the tables T;CCW and T;CCE% From release 3%2 onwards this customi&ing
must be transferred to tables T::DW and T::DE in order for the events to be triggered%
Table reference for a container is deleted. The container elements are defined
referencing business ob'ects or data repository fields% >f an 0#P structure is deleted or
modified the workitems and workflows may become erroneous when this change is
imported during a release upgrade% #lthough changes to 0#P structures and tables are
rare this did happen in release 3%2 when central address management was introduced%
Jarious structures with the naming convention 80Rnn +where nn is a number/ were
changed% >t is worth checking whether your containers reference these tables% >f you find
any modify them in advance to reference another eBuivalent table% The new reference
and the updated container definitions should be transported to the productive system far
in advance of the upgrade%
o Tip= Create your own structure which references all the fields used in your
container definitions% >nclude this structure in a simple #"#P report which does
not have to do anything other than reference all the fields% >f an 0#P or customer
structure that is used in a workflow is modified a synta, error will occur in this
report and you are warned% The report also prevents your system administrator
Performance and Workflow Page C of 12
accidentally deleting structures which are only referenced in workflow and
nowhere else%
Manual acti&ation re+uired in !elease /.0c. This is a temporary condition but as the
hot package is not available yet it makes sense to report it here% #n une,pected
phenomenon in release 3% <c is that after the release upgrade the workflow definitions
lose their cached run!time definition% This is easy to regenerate but it is essential that this
is done in the production system before going live after the upgrade%
o 8se the transaction 0W>1 to determine which workflows are running in the
production system +check the AadvancedA flag to see workflow id% >n each of these
workflows including the subflows you must load the workflow into the workflow
builder and then regenerate the run!time definition% 6ou can do this from the
display mode directly% There is no need to create a transport reBuest or have
special authori&ation%
)pplication e&ent tri$$ers. >t has been reported that there is a chance that an
application may change their event publishing mechanism from Release to Release%
4ither the name of the event could change or the customi&ing reBuired to trigger the
event could change% >t is worth checking that the events you use in your workflow are still
being triggered properly after the Release upgrade% 6ou may need to perform some
additional customi&ing to get them triggered again%
%ele$ation. 0ome transactions use the hard coded ")R ob'ect within the programming
logic% #n e,ample of this is the event triggering of the application for the J"R7 ob'ect% >t
appears that this has changed sometime between release 1%1 and 3%<% # conseBuence of
this is that workflows based on your own subtype +e%g% &J"R7/ will no longer work%
o The solution is to delegate J"R7 to &J"R7 and create the workflow based on
J"R7 +which has magically inherited all your new?modified
methods?attributes?events/% This rule applies throughout all my0#P components%
>f you want to e,tend a business ob'ect create a subtype and then delegate it as
described in the online documentation% 5odel your workflow using the original
ob'ect type not the I&I type% # positive side effect= 6ou can usually navigate from
the transaction that displays the business ob'ect +e%g% purchase order/ to the
workflow logs that involve this ob'ect% This is true even if you have created the
workflows yourself instead of using 0#P delivered workflows providing that your
workflows reference the original business ob'ect +which you may have e,tended
using delegated subob'ects/
Periodic %eadline Checkin$% >n the 0#P Web #0 Release <% 32 it is no longer possible
to configure case!specific deadline monitoring% Periodic monitoring is supported and the
interval between deadline checks can be customi&ed% This has been done to reduce
system load and avoid skipped deadlines when the system load is high% >f you are
configuring an old Release you are recommended to avoid using case!specific deadline
monitoring ! configure periodic monitoring instead%
Performance and Workflow Page D of 12
%ia$nosin$ Problems
Transaction SWUD
0W89 is the diagnosis transaction% This will guide you through the fault finding process% The
check!list order is determined dynamically according to=
a/ your workflow definition and
b/ the statistics of the most common mistakes made when creating?activating a
workflow%
The testbed provides a launchpad for tests to ensure that your workflow definition is rugged
enough for the production environment% >t also allows you to access the tasks subflows ob'ect
types delegated ob'ect types and agent assignments directly without going through the workflow
builder first% +Foreground tasks with no agent assignment are marked in red from release 3%;
onwards/% This list is also useful as a catalogue of the components of workflow for documentation
or transport purposes%
Click on the IinfoI icon to read a description of the test being performed%
#ny workflow accessed through this transaction is added to the last!used list% The workflow can
be recalled at a later date by clicking on the reuse icon in the left!hand column of the last!used
list%
The ne,t section describes the transactions called from 0W89% 4,perts may find it easier calling
them directly%
Secondar Diagnosis Transactions
Transaction 0W81= Jerify Workflow Customi&ing%
>n this transaction the most important basic customi&ing for workflow is checked% >f you
find any errors here read the documentation for the error% >f your system is ""P or CR5
see note <2C21%
Transaction 0W4(= 4vent (og%
.ote= "efore you can use the event log you must make sure it is activated% 6ou check
this in transaction 0W4(0% >f you are not sure whether or not it is active 'ust deactivate
and activate the event log once%
W#R.>.*= #n activated event log can lead to bad performance and must not be
activated constantly in a productive system%
Transaction 0W42= 4vent type linkage
# workflow is usually started or triggered by an 4J4.T so it is important to make sure
that an event occurrs% >n the event log you can see the event and its business ob'ect
type%
>f an event has been successfully created it is important to check if there is a receiver
type for this event% The receiver type is the workflow that has been triggered by the event%
The coupling between an event and the receiver can be maintained in trans% 0W42%
Transaction 0W82= 4vent simulation
>f you have found .) receiver type in the event log then you should check transaction
0W82 0imulate 4vents%
>n this transaction you can simulate an event% The system will check all workflows that
could be triggered by the event and tells you whether or not they were triggered%
>nformation is displayed for the workflows that were not triggered successfully%
Performance and Workflow Page 12 of 12
Transaction 0W>1= Work item list
>f a workflow was been correctly triggered and started at least one W)R7 >T45 should
be created% 6ou can view the work items in transaction 0W>1 Work >tem 0election%
The easiest way for the selection is 'ust to go into this transaction after you have checked
the event log% "y default all the work items of the last hour will be displayed%
6ou will find in this transaction the work item number the status of the work item and the
workflow task that has created the work item% Furthermore +in the technical workitem
display/ you can have a look at the container by selecting a work item and using the
menu *)T) !L C).T#>.4R% To display the work item details double click on the item%
From the details you can see the selected? possible?e,cluded agents for this work item by
using the menu *)T) !L #*4.T !L 04(4CT49?P)00>"(4?4EC(8949 #*4.T0%
When the status of the work item shows an error you should have a look at the workflow
log using the menu 49>T !L 9>0P(#6 W)R7F()W ()*% $ere you can see errors that
have occurred%
Transaction PFTC?0W99= Task editor?Workflow "uilder
>f you want to have a look at the definition of the workflow you can use transaction PFTC
5aintain Tasks%
The button W)R7F()W "8>(94R brings you to a graphical display of the workflow
structure which is fairly easy to read and understand% )n the tabstrip TR>**4R>.*
4J4.T0 you can check if the triggering is activated or not and deactivate?activate it by
clicking on the icon in front of the event%
Transaction ))C8= Customi&ing overview
To check if the relevant tasks are activated and users are assigned you can use
transaction ))C8N Task Customi&ing )verview%
>n this transaction all the tasks are sorted by the application components and are thus
easy to find% .ote that if you have almost no entries in this transaction you should
e,ecute the report R0-#PP(-R4FR40$ in transaction 041C%
Transaction 0W84?0W80= 4vent?workflow trigger
>f you have activated a user e,it e%g% for the role determination and you have problems
with that you most probably have to debug the workflow% This can be done using the
transaction 0W80 or 0W84%
With 0W84 you can create an event% #fter you entered ob'ect type and event you have
to fill the event parameters and the key for a specific ob'ect% >f you want to debug the
workflow you have to set the flag TR>**4R R4C>4J4R F5 06.C$R% >f you have set a
break point in your user e,it or in any other function module of the workflow the system
will stop at this break point and you can start analy&ing%
The second possibility to debug a workflow is to use the transaction 0W80 the workflow
test environment% >n this transaction you have to enter the workflow task and fill the input
data% Please use the F3!help to fill the input data% $ere again you have to set a break
point in your user e,it or in any other function module of the workflow and then the
system will stop there%
S!mmar of the man!al alternative to SWUD
.ow that you have a better understanding of how to use these transactions you can follow the
steps below to Buickly analy&e your workflow problems=
1% *o to transaction 0W81 and check if everything is okay% >f it is not please fi, it before
you proceed%
2% *o to transaction 0W4( and check if an event is created% >f not check in transaction
0W4(0 if the event log is activated%
Performance and Workflow Page 11 of 12
>f you see an event but no workflow is triggered proceed with step 1%
>f you see an event and a workflow is triggered but the status of the triggering shows an
error proceed with step 1%
>f you see an event and a workflow is triggered and there is no error proceed with step 3%
>f the event log is activated and you do not get any event open up a message using the
component of the application to which the business ob'ect type belongs% From release
22C for creation of shopping carts
the architecture of workflows changed and no events are visibleG
1% *o to transaction 0W82 and simulate the event% >s the workflow that you e,pect to be
triggered visible in the simulationO
>f it is not then check the workflow definition in PFTC% The event must be defined as
triggering event%
>f it is but the event linkage is not activated go to transaction ))C8 and activated it%
>f it is visible but it is not activated go to transaction PFTC and activate it%
3% *o to transaction 0W>1% 0earch for the work item that belongs to the workflow% Check
the status of the work item%
>f it shows an error look at the workflow log% 9o you see any errorsO >f yes you can
probably find a solution in the 0#P.et Frontend% +Tips and tricks on how to search for
information and solutions in the 0#P.et Frontend can be found in note 1D21D3%/ >f you
do not find any help in the 0#P.et Frontend please open up a message with the
component "C!"5T!WF5 and tell us the number of the error message and the name of
the workflow%
Performance and Workflow Page 12 of 12

Вам также может понравиться