1) The document provides tips for improving performance and workflow in SAP, including reducing unnecessary tRFC calls, work items, and database accesses.
2) It recommends archiving old work items instead of deleting them, and reorganizing indexes on workflow runtime tables regularly to optimize performance.
3) Reports like R0WWW94 and R0WWG94 can delete work items permanently from all user inboxes, so they should only be used with caution and after validating the selection criteria.
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
63 views
Performance and Workflow
1) The document provides tips for improving performance and workflow in SAP, including reducing unnecessary tRFC calls, work items, and database accesses.
2) It recommends archiving old work items instead of deleting them, and reorganizing indexes on workflow runtime tables regularly to optimize performance.
3) Reports like R0WWW94 and R0WWG94 can delete work items permanently from all user inboxes, so they should only be used with caution and after validating the selection criteria.
Download as DOC, PDF, TXT or read online on Scribd
You are on page 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
Python Advanced Programming: The Guide to Learn Python Programming. Reference with Exercises and Samples About Dynamical Programming, Multithreading, Multiprocessing, Debugging, Testing and More