Presentation is loading. Please wait.

Presentation is loading. Please wait.

Making Workflow Flow Jerry Ireland Principal, RIGHTSIZING, INC.

Similar presentations


Presentation on theme: "Making Workflow Flow Jerry Ireland Principal, RIGHTSIZING, INC."— Presentation transcript:

1 Making Workflow Flow Jerry Ireland Principal, RIGHTSIZING, INC. jerryi@rsiz.com

2 Introduction l About the Speaker –Oracle Ace –Application Development –Over 30 years Oracle Consulting –Over 20 years E-Business Suite support –15 years Oracle Workflow –Over 100 presentations –Over 20 year member of ODTUG and OAUG –Currently ODTUG Board of Directors

3 About the Audience –EBS Version l 11i l 12.0 l 12.1 –Database Version l 10gR2 l 11gR1 l 11gR2 –Job Role l System Admin l Workflow Admin l DBA l Functional –OAUG member –OAUG Workflow SIG member

4 Agenda l Introduction l Patch Current l Performance l Data Footprint l Error Handling l Notifications l Order Management

5 Patch Current l WF part of ATG group –Effect most products –Pseudo Product –AME and HR products integral parts l Very time consuming and complicated –1-Offs, Family Packs, Mini Packs –More recent versions in other patches –Prerequisites l prerequisites of prerequisites ---

6 Patch Current Sample Spreadsheet l R12.1.3 Upgrade l Compliled by –Karen Brownfield, John Peters, and Me l To be considered on top of 12.1.3 l Starting Point l Do your own verification and research l Sample Spreadsheet Sample Spreadsheet

7 Patch Current l Recommended Patches –125452.1 How to find Latest Recommended Patches for E-business suite R12 or 11i l Patchset Levels –Application Name, Product Version, Current Patch Level, Status (Installed, Shared Product, Inactive) l AD_TOP/sql/adutconf.sql or Workflow Analyzer l Or Log into OAM –Support Cart  Applications Signature  Collect  "Product Information“  View

8 Patch Current l Patch Comparison –139684.1 Oracle Applications Current Patchset Comparison Utility – patchsets.sh –Checks against internal tables for applied patches –Depends on file from Oracle ftp site for nightly new list of most recent patchset/family packs –List of missing patches –Workflow Analyzer

9 Patch Current l Patch Wizard 976188.1 –Downloads info bundles with meta data and code levels –Creates recommendations –Does an impact analysis l Files effected l Recommended or code level update l Flag files that you want alert when changed ( customized?) l For a more detailed look at the Patch Wizard look for –O RACLE E-B USINESS S UITE P ATCH W IZARD P ATH T O L ESS E RRORS by John Stouffer

10 Patch Current l Patch Wizard –R12 - Prereqs are stated as Code levels to make it easier to identify which patches satisfy the prereq l Workflow Analyzer

11 Workflow Analyzer l 1369938.1 “Workflow Analyzer script for E-Business Suite Workflow Monitoring and Maintenance” –This is a must!!!! –Can be run by concurrent manager 1425053.1 –It is updated frequently so download new script often –SQL used to produce results are available on report

12 Workflow Analyzer l Workflow Administration l Workflow Footprint l Workflow Concurrent Programs l Workflow Notification Mailer l Workflow Patch Levels l Workflow Analyzer Sample Workflow Analyzer Sample

13 Patch Current l None of the tools do a complete job with : –Prerequisites of prerequisite patches –1-Off patches –Conditional patches l Workflow Analyzer does the best l Must read documentation on all patches

14 Performance l Patches l Init.ora l Advanced Queuing l Notification Mailers l Database l Profile Options l Data Footprint l Workflow Analyzer l History Loopers l Notifications l New Features

15 Performance Patches l Recommended Performance Patches –244040.1 – Section 7: Applications Technology Products and Components –Download and read ALL documentation –Bug 7476877 – purge performance if earlier than 11.5.10 RUP 7 –Some but not all included in Workflow Analyzer

16 Performance - init.ora l AQ_TM_PROCESSES –Must be at least 1 for background process to run for databases prior to 10g –Auto tuning (don’t set) gets better performance for 10g on l JOB_QUEUE_PROCESSES –5 for 11.5.9 –10 for 11.5.10 and 12 –Oracle seeds value as 2

17 Performance Advanced Queuing l Ensure Advanced Queuing not set for statement or debug logging –FND: Debug Log Enabled – No –FND: Debug Log Level – Unexpected –FND: Debug Log Modules – NULL l Make sure log level on all listeners is set to Error

18 Performance Advanced Queuing l Rebuild/coelesce Indexes/IOTS regularly l Reduce QMON CPU usage and Redo generation l Database < 11.2 l Garbage collection on dequeue indexes/IOTS already performed l No space management for time-management, history, spillover l Run at least once a day during quiet period l Can be executed while enqueue/dequeue running l 1336354.1 describes a way to automate

19 Performance Advanced Queuing l Rebuild/coelesce Indexes/IOTS regularly l Database >= 11.2 l Runs automatically as needed l Can still be run manually if necessary l Cleanup Control Queue –469045.1 Troubleshooting WF_CONTROL Agent Issues” –Controls all queues –Run every 12 hours

20 Performance Advanced Queuing l 469009.1 “Troubleshooting Workflow Agent Listener’s failure to start” l Business Event System not enabled l WF_CONTROL queue related issues l Workflow Agents have an invalid SYSTEM_GUID in WF_AGENTS and WF_RESOURCES tables l Queues are missing l Queues are invalid l Queue Handlers are missing or are invalid l Technology stack setup issues

21 Performance Advanced Queuing l 469009.1 “Troubleshooting Workflow Agent Listener’s failure to start” –Start investigating by setting Container log level at STATEMENT and reproducing the issue. –Follow detailed instructions in the MOS to determine if any of the above problems exist

22 Performance Notification Mailers l Define dedicated mailers for high volume item types and WFERROR l Maintaining mailer parameters –Autoconfig Context File l Username l Inbound server name l Outbound server name l Reply-to address

23 Performance Notification Mailers l Maintaining mailer parameters –Changing Username, Inbound server name, Reply-to address in Workflow Manager automatically make changes in context file –Changing Outbound server name does not –Have to manually change it in context file

24 Performance Database l Pin Top Apps PL/SQL packages by executions l Partition Tables –260884.1 How to Partition tables in OWF.G l $FND_TOP/sql/wffngen.sql –Translates activity function calls into static calls –Add high volume item types to itemtypeList_t –Can not customize items in the list

25 Performance Profile Options –Profile Options l Account Generator: Run in Debug Mode –Yes – status information is saved to the Workflow history tables. –No – no status information is saved increase performance Reduce wait time

26 Performance Profile Options –Profile Options l Purchasing: Workflow Processing Mode –Online - run Purchase Order and Requisition workflows online when transactions are created. –Background - deferred to the Background Engine. can increase throughput Make sure you have a Background Engine to run these deferred processes

27 Performance - Other l As needed Attributes –Many attributes never get a value l 11,114,390APCCARD l 2,757,722HRSSA l 2,621,399WFERROR l 2,601,654OTWF l 1,577,750PAXWFHRU l 1,346,090IRC_NTF l 1,090,962OEOL –Put a special attribute #ONDEMANDATTR at top-level runnable process activity –Attribute record created only when populated –Save over 22 million rows

28 Performance Data Footprint Runtime Data Error Activities COUNTITEM_TYPEACTIVITY_NAMEMIN(BEGIN_DATE)MAX(BEGIN_DATE) 82,697OKSWARWFOKSMSGNOTIFY23-FEB-0829-SEP-10 17,469OTWFOTA_MGR_TEST_RESULT_NTF05-MAR-0914-JUN-12 6,367IRC_NTFIRC_NOTIFICATION_PRC15-MAY-1222-AUG-12 2,546XIAPINVXIAP_NO_RESPONSE04-APR-0325-MAR-11 1,616APEXPSET_STATUS_APPROVER_AND_DATE24-MAY-0709-DEC-11 972HXCEMPUPDATE_APP_PERIOD02-AUG-0617-NOV-11 942OTWFENROLLMENT_CANCELLED17-JUN-0415-DEC-11 868SERVICEXI_INITIALIZE_CASE_ATTR04-JAN-0815-OCT-12 601POAPPRVDOES_USER_WANT_DOC_EMAILED19-MAY-0315-NOV-11 583SERVICESET_CASE_LEVEL_ATTR08-JAN-0825-JUN-12 562XIAPINVXIAP_REQUEST_APPR09-SEP-0513-AUG-12 428SERVICESET_ACTION_ITEM_ATTR04-JAN-0814-AUG-12 423XIAPINVXIAP_NUMBER_OF_APPROVERS03-MAR-0516-AUG-12 396XIAPINVXIAP_RETRIEVE_INVOICE_INFO07-JUL-0409-OCT-12 383XIAPINVXIAP_PROCESS_NOT_CONTINUE15-SEP-0611-MAR-10 356IRCOFFERSEND_APL_RESPONSE_NOTIF24-APR-0830-JUL-12 345IRCOFFERSEND_RCVD_NOTIF20-JUL-0730-JUL-12 296XLXIRCNEW_APPLICATION_NTF17-NOV-0820-APR-12 162BENCWBFYWS_SUB_NTF03-NOV-0925-MAY-12 153SERVEREQGET_REQUEST_ATTRIBUTES06-JUN-0715-OCT-11 134XIAPINVXIAP_APPR_NORESPONSE21-FEB-0813-JUN-12 122WFERRORDEFAULT_RESET_ERROR_NTF31-MAR-0319-NOV-09 114HRSSAOTA_LEARNER_CANCEL_ENROLLMENT01-JUN-0713-JUL-12 Closed Not Purged Item Type Item Type Status Item Type Count Closed Activity Count Activity History Count OEOLCLOSED 36,793 1,029,344 724,508 WFERRORCLOSED 1,604 8,008 7 OEOHCLOSED 1,568 20,158 46 XXHXCEMPCLOSED 1,082 15,680 78 HRSSACLOSED 586 6,498 1,567 FUNIMAINCLOSED 432 4,740 - XXCRPOCLOSED 379 6,475 - REQAPPRVCLOSED 305 23,847 5,275 PORPOCHACLOSED 293 2,500 357 HXCEMPCLOSED 267 5,130 22 POAPPRVCLOSED 213 21,284 766 CREATEPOCLOSED 154 4,392 - SERVICECLOSED 127 1,221 276,277 IRC_NTFCLOSED 117 468 -

29 l Runtime l History Loopers Item TypeItem KeyCount OEOL9418151 495,238 SERVICE230729 400,491 SERVICE243091 400,799 SERVICE242705 405,356 SERVICE242561 407,743 SERVICE242047 416,584 SERVICE241630 420,581 SERVICE240737 433,300 SERVICE240611 434,259 SERVICE240601 434,357 SERVICE240598 434,455 SERVICE240165 436,877 SERVICE238595 447,531 SERVICE238525 447,986 SERVICE238017 449,603 SERVICE236875 455,161 SERVICE236870 455,056 SERVICE236072 458,766 SERVICE234570 467,530 SERVICE233535 472,878 SERVICE231991 483,511 SERVICE231966 483,574 SERVICE231871 484,400 SERVICE230235 497,588 SERVICE229748 502,726 SERVICE229393 505,218 SERVICE229373 505,302 SERVICE224414 544,327 SERVICE216496 604,555 SERVICE215922 515,921 Total 13,406,435 History by Month Item TypeMonth Count SERVICE2013_07 5,156,266 SERVICE2013_05 5,029,649 SERVICE2013_06 4,645,925 SERVICE2013_04 4,220,156 SERVICE2013_03 3,280,853 SERVICE2013_01 2,907,122 SERVICE2012_12 2,655,904 SERVICE2013_02 2,397,927 SERVICE2012_11 2,337,959 SERVICE2012_10 2,090,576 SERVICE2012_07 1,911,167 SERVICE2012_08 1,842,549 SERVICE2012_09 1,812,961 SERVICE2012_06 1,791,621 SERVICE2012_05 1,746,126 SERVICE2012_03 1,695,899 SERVICE2011_10 1,688,064 Performance Data Footprint Runtime Data Item Types Item Type Count WFERROR 211,313 APCCARD 107,080 OKSWARWF 82,697 OTWF 75,105 OEOL 64,467 PAXWFHRU 36,257 OKCAUKAP 31,847 XDPWFSTD 24,002 OEOH 23,273 IRC_NTF 20,151 HRSSA 13,914 XIAPINV 9,775 SERVICE 4,399 APEXP 2,681 HXCEMP 1,455 XXHXCEMP 1,443 POAPPRV 954 HRSFL 847 OMERROR 795

30 Performance Data Footprint l PURGE –132254.1 Speeding Up And Purging Workflow l Yet another list of patches to be included l Gather Histogram Stats l Use wfretry.sql script to clear individual errors l Use bde_wf_retry.sql based on item type and process

31 Performance Performance Data Footprint l Why are things not purging? –Purge processes not covering all item types –Background Engines not runing –Error workflow called and not complete –Notification not responded to –Parent or child workflow not complete –Proper listeners not started

32 Purge processes not covering all item types l Schedule Nightly or at minimum Weekly l Parameters –Leave Item Type/Item Key blank – All types –Age – between 7 and 14 –Persistence Type l One Temporary and one Permanent –Core Workflow Only – Set to Y l Run with value set to N monthly –Commit Frequency – leave at default – 500

33 Background Engines not running l Run separate Engines for Stuck –Parameters NULL, NULL, NULL, No, No, Yes –Once/Week or more l And Timed Out –Parameters NULL, NULL, NULL, No, Yes, No –Base timing on average timeout times

34 Background Engines not running l Run Engine for Deferred activities separately –More often than 15 minutes is unusual –Run targeted engines for high volume item types or item types that need faster responses (OEOL?) l Parameters: Order Line, NULL, NULL, Yes, No, No l Run generic every 15-60 minutes –Parameters: NULL, NULL, NULL, Yes, No, No

35 Error Handling l Start with error workflows –Basic process l Query for items with open error workflows –Start with largest volumes –Query Details –Track down the cause –Fix the problems

36 Error Handling l Query open errors –WFERROR not the only error ( thanks Karen Brownfield ) SELECT item_type, parent_item_type, DECODE (end_date, NULL, 'OPEN', 'CLOSED') error_type_status, COUNT (*) FROM wf_items WHERE parent_item_type is not null AND item_type in ('CUNNLWF','DOSFLOW','DOSFLOWE', 'ECXERROR', 'HRSSA', 'HRSTAND', 'HXCEMP', 'IBUHPSUB', 'OKLAMERR', 'OMERROR', 'PARMAAP', 'PARMATRX', 'POERROR', 'WFSTD', 'XDPWFSTD', 'ZPBWFERR', 'WFERROR') GROUP BY item_type,parent_item_type, DECODE (end_date, NULL, 'OPEN', 'CLOSED') ORDER BY 4 desc, item_type, parent_item_type; Error output

37 Error Handling select ias.item_type,ap.NAME process,ac.name Activity,ias.activity_result_code Result,Count(*) Errcount from wf_item_activity_statuses ias, wf_process_activities pa, wf_activities ac, wf_activities ap, wf_items i where ias.activity_status = 'ERROR' and ias.process_activity = pa.instance_id and pa.activity_name = ac.name and pa.activity_item_type = ac.item_type and pa.process_name = ap.name and pa.process_item_type = ap.item_type and pa.process_version = ap.version and i.item_type = ias.item_type and i.item_key = ias.item_key and i.begin_date >= ac.begin_date and i.begin_date < nvl(ac.end_date, i.begin_date+1) group by ias.item_type, ias.error_name, ap.NAME, ac.name, ias.activity_result_code having Count(*) > 100 order by ErrCount desc; Item TypeProcessActivityResult Error Count OKSWARWFOKSWARPROCOKSMSGNOTIFY#EXCEPTION 82,697 OTWFOTA_ASSESSMENT_NTF_JSP_PRCOTA_MGR_TEST_RESULT_NTF#EXCEPTION 73,290 IRC_NTFROOTIRC_NOTIFICATION_PRC#EXCEPTION 20,150 XIAPINVXIAP_NO_APPR_RESPONSE_PROCESSXIAP_NO_RESPONSE#MAIL 2,440 APEXPAP_EXPENSE_REPORT_PROCESSSET_STATUS_APPROVER_AND_DATE#EXCEPTION 1,615 HXCEMPHXC_APPLY_NOTIFYUPDATE_APP_PERIOD#NORESULT 972 OTWFOTA_MANUAL_WAITLISTENROLLMENT_CANCELLED#EXCEPTION 946 SERVICEPAST_DUE_ACTION_NOTIFICATIONSET_CASE_LEVEL_ATTR#EXCEPTION 750 SERVICECUSTOMER_NOTIFICATIONSXI_INITIALIZE_CASE_ATTR#EXCEPTION 530 XIAPINVXIAP_REQUEST_APPROVAL_PROCESSXIAP_REQUEST_APPR#EXCEPTION 522 XIAPINVXIAP_APPROVAL_ROUTING_PROCESSXIAP_NUMBER_OF_APPROVERS#EXCEPTION 517 POAPPRVEMAIL_DOC_PROCESSDOES_USER_WANT_DOC_EMAILED#EXCEPTION 459 XIAPINVXIAP_INVOICE_APPROVAL_PROCESSXIAP_RETRIEVE_INVOICE_INFO#EXCEPTION 399 XIAPINVXIAP_INVOICE_APPROVAL_PROCESSXIAP_PROCESS_NOT_CONTINUE#EXCEPTION 383 XIAPINVXIAP_NO_APPR_RESPONSE_PROCESSXIAP_NO_RESPONSE#EXCEPTION 347 SERVICEPAST_DUE_ACTION_NOTIFICATIONNTF_CCM_AA_PAST_DUE#MAIL 340 BENCWBFYWS_SUBMITTED_PROCWS_SUB_NTF#EXCEPTION 328 XLXIRCXLX_IRC_NEW_APPLNEW_APPLICATION_NTF#EXCEPTION 314 HRSSAHR_HRSSA_V5_APPROVED_PRCHR_HR_COMMAPPLERR_V4_NTF#EXCEPTION 273 IRCOFFERIRC_SEND_RCVDSEND_RCVD_NOTIF#EXCEPTION 261 IRCOFFERIRC_APL_RESPONSESEND_APL_RESPONSE_NOTIF#EXCEPTION 234 SERVICECCM_CASE_NOTIFICATIONXI_INITIALIZE_CASE_ATTR#EXCEPTION 198 SERVICEHIGH_SEVERITY_CASEXI_INITIALIZE_CASE_ATTR#EXCEPTION 197 SERVICEPAST_DUE_ACTION_NOTIFICATIONSET_ACTION_ITEM_ATTR#EXCEPTION 164

38 Error Handling Error Detail select * from (select ias.item_type,ap.NAME process,ac.name Activity,ias.activity_result_code Result,ias.error_name ERROR_NAME,ias.error_message ERROR_MESSAGE,ias.error_stack ERROR_STACK,Count(*) Errcount from wf_item_activity_statuses ias, wf_process_activities pa, wf_activities ac, wf_activities ap, wf_items i where ias.activity_status = 'ERROR' and ias.process_activity = pa.instance_idError DetailsError Details and pa.activity_name = ac.name and pa.activity_item_type = ac.item_type and pa.process_name = ap.name and pa.process_item_type = ap.item_type and pa.process_version = ap.version and i.item_type = ias.item_type and i.item_key = ias.item_key and i.begin_date >= ac.begin_date and i.begin_date < nvl(ac.end_date, i.begin_date+1) GROUP BY ias.item_type, ias.error_name, ap.NAME, ac.name, ias.activity_result_code, ias.error_message, ias.error_stack order by ErrCount desc) where rownum < 25

39 Error Handling Error Handling bde_wf_item.sql l Output Workflow data for a single workflow item to research causes. –Provides details of everything that happens to an item l Output data for: –WF_ITEMS –WF_ITEM_ATTRIBUTE_VALUES –WF_ITEM_ACTIVITY_STATUSES –WF_ITEM_ACTIVITY_STATUSES_H (Summary) –WF_NOTIFICATIONS

40 bde_wf_item.sql Item Activity Statuses - Internal Names Select ap.name||':'||ap.version||'/'||pa.instance_label||'/'||ac.name||':'||ac.version Activity, ias.process_activity instance_id, ias.activity_status Status, ias.activity_result_code Result, ias.assigned_user ASGND_USER, ias.notification_id NID, ntf.status "Status", to_char(ias.begin_date,'DD-MON-YY HH24:MI:SS') begin_date, to_char(ias.end_date,'DD-MON-YY HH24:MI:SS') end_date, ac.function_type, ac.function from wf_item_activity_statuses ias, wf_process_activities pa, wf_activities ac, wf_activities ap, wf_items i, wf_notifications ntf select ap.name||'/'||pa.instance_label Activity, ias.process_activity instance_id, ias.activity_status Status, ias.activity_result_code Result, ias.assigned_user ASGND_USER, ias.notification_id NID, ntf.status "Status", to_char(ias.begin_date,'DD-MON HH24:MI:SS') begin_date, to_char(ias.end_date,'DD-MON HH24:MI:SS') end_date from wf_item_activity_statuses ias, wf_process_activities pa, wf_activities ac, wf_activities ap, wf_items i, wf_notifications ntf

41 bde_wf_item.sql Item Activity Statuses - Internal Names where ias.item_type = '&item_type_selected' and ias.item_key = '&item_key_selected' and ias.process_activity = pa.instance_id and pa.activity_name = ac.name and pa.activity_item_type = ac.item_type and pa.process_name = ap.name and pa.process_item_type = ap.item_type and pa.process_version = ap.version and i.item_type = '&item_type_selected' and i.item_key = ias.item_key and i.begin_date >= ac.begin_date and i.begin_date < nvl(ac.end_date, i.begin_date+1) and ntf.notification_id(+) = ias.notification_id order by ias.begin_date, ias.execution_time; where ias.item_type = '&item_type_selected' and ias.item_key = '&item_key_selected' and ias.process_activity = pa.instance_id and pa.activity_name = ac.name and pa.activity_item_type = ac.item_type and pa.process_name = ap.name and pa.process_item_type = ap.item_type and pa.process_version = ap.version and i.item_type = '&item_type_selected' and i.item_key = ias.item_key and i.begin_date >= ac.begin_date and i.begin_date < nvl(ac.end_date, i.begin_date+1) and ntf.notification_id(+) = ias.notification_id order by ias.begin_date, ias.execution_time;

42 Item Activity Status History Summary bde_wf_item.sql Item Activity Status History Summary select count(*) COUNT, STH.PROCESS_ACTIVITY||':'||PRA.PROCESS_VERSION PROCESS_ACTIVITY, PRA.INSTANCE_LABEL ||':'||act.version||'|'||ACT.BEGIN_DATE ACTIVITY_LABEL, STH.ACTIVITY_RESULT_CODE ACTIVITY_RESULT_CODE from wf_item_activity_statuses_h STH, wf_process_activities PRA, wf_activities ACT where STH.item_type = '&item_type_selected' and STH.item_key = '&item_key_selected' and PRA.instance_id(+) = STH.process_activity and act.item_type = pra.activity_item_type and act.name = pra.activity_name group by STH.process_activity||':'||PRA.PROCESS_version, PRA.INSTANCE_LABEL||':'||act.version||'|'||ACT.BEGIN_DATE, STH.ACTIVITY_RESULT_CODE order by 2, 3; bde_wf_item_OEOH_132846.rtf bde_wf_item_OEOL_9418151.rtf bde_wf_item_SERVICE_181572.rtf select count(*) COUNT, STH.PROCESS_ACTIVITY PROCESS_ACTIVITY, PRA.INSTANCE_LABEL ACTIVITY_LABEL, STH.ACTIVITY_RESULT_CODE ACTIVITY_RESULT_CODE from wf_item_activity_statuses_h STH, wf_process_activities PRA where STH.item_type = '&item_type_selected' and STH.item_key = '&item_key_selected' and PRA.instance_id(+) = STH.process_activity group by STH.process_activity, PRA.INSTANCE_LABEL, STH.ACTIVITY_RESULT_CODE;

43 Error Handling l bde_wf_clean_worklist –worklist items that are open –tied to errant activities no longer in an ERROR state. –retry them to close them out

44 Events SELECT COUNT (*),v.text_value,min(i.begin_date),max(i.begin_date) FROM wf_item_attribute_values v,wf_items i event countsevent counts WHERE v.item_key=i.item_key AND v.item_type = i.item_type AND v.item_type = 'WFERROR' AND v.NAME = 'EVENT_NAME' AND v.text_value IS NOT NULL GROUP BY text_value ORDER BY 4 DESC,1 DESC,text_value;

45 Clean up Event Errors accept nodays prompt “Enter days of open history to keep:” accept type prompt “Enter WFERROR event to purge:” update wf_items wi set wi.end_date = SYSDATE where wi.item_type =‘WFERROR’ and wi.end_date is null and trunc(wi.begin_date) < trunc(sysdate - &nodays) and exists ( select null from wf_item_attribute_values wiav where waiv.item_key = wi.item_key and waiv.item_type = ‘WFERROR’ and waiv.name = ‘EVENT_NAME’ and waiv.text_value = ‘&type’); update wf_item_activity_statuses set end_date = SYSDATE where item_type = ‘WFERROR’ and end_date is null and item_key in ( select item_key from wf_items where item_type = ‘WFERROR’ and trunc(end_date) = trunc(SYSDATE); Karen Brownfield

46 History Loopers l History records –Created whenever a workflow passes through an activity it has already done before –Most often bad code –Example l Workflow checks on available resource (inventory..) l When it finds what it needs it goes on l Otherwise it WAITs for some time and checks again –Sometimes as often as every 5 minutes –Like the million second Quiz!!!

47 History Loopers l How to fix these –If you have to do it this way make sure the interval is reasonable. Do you really have to respond in 5 minutes? –Put the workflow in a deferred state instead l Another program runs against the deferred list and does the checking and tells the workflow to go on l No history created

48 History Loopers l There is a gotcha!!!!! –When you change the workflow it creates a new version –Workflow deals with multiple versions of a process by always running the same version it started with. –So all of the millions of processes that have been generating all the history will go right on doing it –New ones will do the right thing

49 History Loopers l There is a gotcha!!!!! –I don’t know of a supported way of fixing this problem l SQL to the rescue –Modify the end dates of the loopers Start a new workflow to deal with these Purge/delete the old ones –Change the old versions by replacing the actual activities of the old versions with new ones l Certainly can change the wait time easily

50 l There is a gotcha!!!!! –OK there is one way of at least getting rid of the history footprint – probably without Oracle getting their shorts in a twist l SQL to the rescue –Create a concurrent process that periodically deletes the history for these loopers –No ill effects of removing them –Depending on your database version you may want to be sure the high water mark is adjusted after initial run –You will be unnecessarily creating and deleting millions of rows per month

51 Notifications l Many open workflows due to problems with notifications –Errors l Performer does not exist l Role does not exist l Email information missing l Can usually be fixed by updating this information in the tables l Can modify performer in workflow tables

52 Notifications l Many open workflows due to problems with notifications –Notification is not responded to in a timely way l Too many left with default sysadmin and sysadmin can not keep up l Some one is away or is no longer employed –Keep directory information up to date l synchronize ROLES and USERS l Run Directory Services Validation

53 Notifications l Many open workflows due to problems with notifications –Personalize Notification page to provide more relevant information - flexfields –Create hierarchies of responsibility –Make sure notifications are targeted to people that are close to the tasks being performed l For a more detailed discussion of this Workflow Troubleshooting in Release 12 by Susan Behn http://www.solutionbeacon.com/WorkflowTroubleshootingOAUG09.p df http://www.solutionbeacon.com/WorkflowTroubleshootingOAUG09.p df

54 Order Management l Often causes trouble when you have a parent and child relationship –If any line is not completed the header can’t be purged –Lines can’t be purged till the header is completed l OM gets some special attention

55 Order Management l Data fix patches –398822.1 Order Management Suite – Some Data Fix Patches and Scripts l Patch Current!!!!!!!!!

56 Order Management l Known problem fixes –339794.1 – RMA Stuck With Awaiting Disposition; FRM-40212: Invalid value for field OE_ORDER_NUM 11.5.1 – 11.5.10 l Apply patch 558811 – data-fix scripts l ontd0015.sql – lines stuck in AWAITING_RETURN_DISPOSITION –See 454617.1 when this doesn’t work l ontd0018.sql – lines stuck in AWAITING_RETURN

57 Order Management l Known problem fixes –277332.1 Receipts For Drop Ship Purchase Orders Fail With Rvtii-060-Subroutine initpu() returned error – 11.5.7 – 11.5.10.CU2 l Orphan reservations exist. – remove 1322105.1 l The onhand quantity is less than zero. – Misc receipt to make the on-hand quantity zero. Process – set on-hand back to negative l Inventory controls have changed - Note 1345003.1Note 1345003.1

58 Order Management l Concurrent Programs –878032.1 – How to use Concurrent Program “Purge Order Management Workflow l Purges sales order lines even when header is still open l Should be run frequently l Parameters –Workflow Item Type –Workflow Item key –Elapsed days After Closure –Attempt to Close - Close header when lines are holding things up but are really closed –Commit Frequency

59 Order Management l Concurrent Programs –376040.1 Order Management Exception Management: Retry Activities in Error Concurrent Program l Provides retry in bulk l Runs across organizations l Works on: –OM Order Header OM Send Acknowledgement –OM Order Line OM Show Sales Order –OM Negotiation Header OM EDI Workflow –OM Blanket Header OM Change Order –OM Order Import OM Open Interface tracking OM Error

60 Order Management l Concurrent Programs –Retry Activities in Error Concurrent Program l Parameters –Order Number: The list of values contains all the Open orders. If an order number is selected, the program retries both header and line errored flows for that order. The rest of the parameters except for the Mode are ignored. –Item Type: The list of values contains all the supported workflow item types as given above. –Activity in Error: The list of values contains all activities pertaining the selected Item Type. –Activity Error Date From: Start date to pickup errored activities. –Activity Error Date To: End date to pickup errored activities. –Mode: Valid values are Preview or Execute. The default is Preview.

61 New Features l R12.1.1 –Worklist – Bulk notification response and bulk notification close l User productivity gain l R12.2 –Deferring Worklist Response Processing l Immediate return to user after response l Processed later l Can be set by item type

62 New Features l R12.2 –Oracle RAC Affinity for Workflows l Partition workflow runtime tables by RAC ID l Create Virtual Private Database (VPD) policies l Special RAC workflow background process l High volume workflows l No notifications requiring a response or blocked activity

63 New Features l R12.2 –Service Component Processing by Correlation ID l General mailers do not handle messages handled by a dedicated mailer

64 New Features l R12.2 –Workflow engine bulk array processing l Batch programs –Business event and subscription caching l Single session l Batch programs l High volume data entry –PL/SQL rule function optimization l Removes dynamic SQL

65 New Features l R12.2 –Edition-Based Redefinition EBR –New process for installing customizations –Doesn’t look like too much change, but…

66 Resources l E-Business Suite: Oracle Workflow (WF) Product Information Center (PIC) l https://blogs.oracle.com/stevenChan/ https://blogs.oracle.com/stevenChan/ l https://blogs.oracle.com/oracleworkflow/ https://blogs.oracle.com/oracleworkflow/ l Workflow Analyzer

67

68 Questions? Jerry Ireland jerryi@rsiz.com rightsizinginc.com


Download ppt "Making Workflow Flow Jerry Ireland Principal, RIGHTSIZING, INC."

Similar presentations


Ads by Google