Workflow Modularization and Performance

One of the great benefits of workflow system is the flexibility to develop reuseable, integrated processes.  In a recent discussion with a SAP representative he mentioned that when developing a workflow it is important to be mindful of the resources utilized when calling a sub-workflow. 
I would like to get some input from anyone who has recommendations on when to draw the line on modularization.   For example, if you have multiple basic processes that are used repeatedly is it best practice to develop generic flexible sub-workflows that may be reutilzed in many situation or is it best to simply redevelop the process in each calling workflow to avoid the resources required to generate new workflow containers, bindings, etc. 
Is there a general rule of thumb as to where to draw the line with modularization?  When does the use of multiple worfklow calls begin to impact the system performance to a point that negates the gains from less development effort?  Any opinions here would be appreciated.
Thanks,
Nick D

Hi Arghadip,
Thanks for the response and I agree that in most scenarios a custom resuable task/method is the best approach when applicable because this avoids the need for additional workflow elements.
The scenario that I have currently come across is that my client is looking into implementing a large collection of nearly 100 workflows, of which, many are all dealing with the same documents and users but just arranged in a particular order based on runtime data.   During review of the processes we noticed patterns that there are blocks of steps that are utilized in the same sequence over and over again for these processes.  Therefore, I am just wondering if it is best to seperate these processes into multiple sub-workflows or just design the workflows reusing the same tasks in each workflow disregarding the redundancy of these blocks of steps.
Example:
Workflows
Workflow 1 = Block 1 > Block 2 > Block 3 > Block 4 > Block 5
Workflow 2 = Block 1 > Block 2 > Bock 6 > Block 5
Workflow 3 = Block 1 > Block 4 > Block 3 > Block 5
Workflow N
Blocks
Block 1 = Task 1 > Task 2 > Task 3 > ...
Block 2 = Task 4 > Task 5 > Task 6 > ...
Block N
As always I will attempt to use conditions and resuable tasks/methods whenever possible but just looking for any input that people may have in regards to performance with sub-workflows.
Thanks & Best Regards,
Nick D

Similar Messages

  • Reading user input from a form within a workflow and perform actions in workflow based on the input

    Sharepoint 2013
    Need to get input from a user based on some condition within a workflow and based on the input received continue with the workflow. It can be a form with a text box and button to which i can redirect and when user enters a value and clicks on the button
    ,I should come back to the workflow and perform other processing. I should also be able to manually start this workflow from VS.
    Tried different approaches like initiation forms ,user input action of SP2010 etc all of these approaches either add some tasks to task list or force me to click on the workflow link to get input from a user.
    Any suggestions on this?

    Hello
    Thanks for the code, but I don't need an array of beans. By the way this code make a bean and an arraylist everytime it's called?
    I was looking for something like this:
    <form action="myjsp.jsp" method="post">
    ...so after submitting the result will go to the myjsp.jsp file and in the myjsp.jsp file
    <jsp:useBean id="value" class"myBean">
    <jsp:setpropertiy name"value" ....>so everytime I click the add button the values will go the mysjp.jsp file and that will set them in the javabean file. this method uses two files but I was looking for doing this in the same jsp file and not sending it to another file.
    chers
    Ehsan

  • Performance management workflow appraisee and appraiser name to be passed in email

    I am working on the performance management workflow. When the manager chooses to require an employee self assessment then an email notification should be triggered to the employee (appraisee) notifying them of the self assessment to be taken.This is my requirement.
    I have copied the standard workflow WS12300113 and customized the workflow to send the notification to the appraisee. I have customized the business object APPR_DOC . I am using the custom event  and the event linkage is activated.
    The manager from MSS select the employee and workflow is triggered. The mail notification will send  a mail to  the appraisee(employee) ,stating
    Dear Appraisee Name,
    Please schedule a meeting for a Crucial Conversation on your Tasks & Targets Setting/Review with your Line Supervisor.
    Kindly update appraisal document with agreements from the meeting.
    Your Appraiser is Appraiser Name.
    Since i am new to workflow , confused with passing the  recipient type(employee) from container an help d the name of the manager and employee name marked in red.
    Kindly help  me out with this

    Hi Paul ,
    Thanks for the concern!
    I created a custom class taking import parameters as appr doc id and plan version.
    I am passing these parameters to HRHAP_APPER table  and fetching the extended id(field id)
    I am passing this extended id to bapi  "BAPI_EMPLCOMM_GETDETAILEDLIST ".
    Here  i am getting multiple entries . using subtype '0001'  i will getting username and
    with subtype '0010' i will get email address of the manager.
    Passing username fetched from above step into bapi HR_GETEMPLOYEEDATA_FROMUSER
    i will get the name of the manager.
    I HAVE DONE BINDING OF METHOD PARAMETERS WITH TASK CONTAINER .ALSO TASK CONTAINER ELEMENTS WITH WORKFLOW CONTAINER ELEMENTS.
    BUT MY CONCERN IS I AM NOT GETTING ANY VALUES FROM HRHAP_APPER TABLE .
    Can you help me with an alternative solution,where i can get user id based on appraisal id and plan version ??

  • Workflows 2013 and SQL Report Services: Configure on Independent Servers or Existing App Servers?

    Currently, my SharePoint 2013 Farm has Workflows 2013 and SQL Report Services installed on app servers, along with other applications. Workflows 2013 isn't working correctly (installed prior to my coming on board with the organization), I'm assuming it
    is a configuration issue, but rather than re-configure, I've read that is recommended to be a standalone server. It was also recommended by a MSFT rep that our report services have its own independent server. Currently, Report Services is also installed on
    an app server that runs other applications on the farm.
    Has anyone had any experience with installing Workflows 2013 and/or SQL Report Services on independent vs. existing application servers?
    Additionally, my existing application servers have 24 GB of RAM (I believe the recommendation for SharePoint production environments is 12 GB), should I plan for the potentially new servers (Workflows and Report Services) to also have 24 GB of RAM? Not really
    sure if it will be needed if they have dedicated tasks.
    Thanks for any input you can provide!

    It entirely depends on load. WFM will work just fine installed on servers in the SharePoint farm. SSRS preferably should go on the end-user facing servers for better performance.
    The questions you're asking are all "it depends" :)
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Regarding Workflow Error and Notification problem

    Hi,
       I am working on Workflow. I imported data <b>first time</b> in Data Manager and created <b>new</b> workflow. Now while "Launching" this workflow it is showing error "<b>The record is currently used in workflow</b>".
    I was using this repository for other data with different workflow but i deleted all previous data and workflow. Why it is showing this error? When i have new set of data with new workflow than i think i should not show this error.
    Other Question is regarding <b>Notification</b>:
    To notify the person we have to make following changes :
    1) Have to use Notify stencil and have to give e mail ids in User detail
    2) In my server ini file i have to give my mail server name.
    After making this changes I am not getting any mails. Please guide me for the same.
    Please guide me how to rectify this error and what are the prerequisites?
    Thanks in advance,
    Ronak

    Hi Ronak,
    Couple of issues with emailing:
    1.  You need to restart your repository after updating .ini file to effect the changes.
    2.  Your SMTP server should relay mails without SMTP authentication.
    3.  You can also send emails to outside domains such as yahoo or others if your SMTP server permits.
    Check with your mail server administrator and perform a simple SMTP telnet test to make sure your SMTP server is not an issue.
    Hope this helps
    Venkat

  • Workflow for Predefined Performance Management Process

    Hi All,
    We are in process of implementing Predefined Performance Management to our client, as I know we donu2019t have workflow for predefined performance management, but I saw below thread:
    Performance Management Process - Workflow between participants
    Please give me more clarification about configuration of Workflow for PMP, we need e-mail notifications only when ever manager is going to do some status change like approve planning phase, reject planning phase etc.
    We are expecting these notifications not through portal only employees e-mail account, can you tell me where the location of the configuration is?
    Thanks in advance.
    -Abhi

    Hi,
    The pre-defined is not ment for changing by anyone. The template is generated and the settings are as is. You would need to go to the phap_catalog to change the template (but that option is disabled for PMP templates). Theoritically you would need to change the status flow tab and select the correct workflow there. The information workflow is standard delivered for use in the flexible one.
    So, yes you probably are able with tricks to get it working in PMP but it is not supported by SAP.
    Regards and Groetjes,
    Maurice Hagen

  • Workflow start step performs Exclusive checkout

    We need to upload data to records that are in workflow and checked out by the workflow start step.  Unfortunately the workflow start step performs an Exclusive checkout of the record which means that the background MDM Impor Server user cannot automatically join the checkout, the user first needs to be invited to the checkout, which needs a manual step of modifying the join permissions of the checkout, which is not what we want to do.
    I have also noticed that when an existing record is checked out Exclusively the user's roles are pulled through into the permitted roles section of the join permission screen of the checkout.  When a new record is checked out Exclusively the user's roles are not pulled through to the permitted roles section of the join permission screen of the checkout.  This looks like a bug to me.
    We are using MDM 7.1 SP08.
    Please advise any workarounds to this problem.  I can think of a few, but none are very elegant, e.g.:
    1. Use API to invite import user to checkout before import is started (requires coding)
    2. Get the user that owns the workflow to manually invite the import user (not guaranteed to remember)
    3. Complete workflow and stat new wokflow without chekout before import is started.
    Any advice will be appreciated.

    Hi Johann,
    I got you point.
    Its not a bug in MDM these are the constraints in MDM :(.
    To understand more read section CHECKOUT AND WORKFLOW FAILURE CONDITIONS of the import manager refernce guide.
    http://help.sap.com/saphelp_nwmdm71/helpdata/en/4b/72b8e7a42301bae10000000a42189b/MDMImportManager71.pdf
    In our lanscape we too have a scenario where we are creating/ records in MDM leaving Material Number Blank (Record Add workflow).
    But once this record with balnk Material Number is syndicated to source system we stop this workflow.
    Now from source system through change pointer we get a file immediately with material Number and MDMID.
    which we process through MDIS and trigger another workflow(Record Import)
    I guess this matches with the third option you described to start and stop workflow and trigger import.
    Regards,
    Neethu Joy

  • Can we custom set workflow throttle and batch size in Office 365 SharePoint online ?

    Hi All,
    I am new to sharepoint online administration. I want to know that can we custom
    set workflow throttle and batch size in Office 365 SharePoint online ?? likewise we were able to do in SP Farm environment using stsadm cmdlets.
    Can we use SP Online management shell to do the same ?
    Please help !!!

    Thanks for the reply...
    But then how can I optimize my workflow against these properties in Sharepoint online site environment  ?
    Throttle
    Batch size
    Timeout
    Workflow timer interval
    AutoCleanUpDays ()
    refer : http://www.codeproject.com/Articles/251828/How-to-Improve-Workflow-Performance-in-SharePoint

  • After installing and configuring Workflow Manager and Service Bus, I'm getting 403.

    I've spent the day installing SharePoint 2013 on a Windows Server 2012 environment. This server is not the domain controller. Following instructions on how to install and configure Workflow Manager and service bus, it appears although I'm following the instructions
    (and I get no errors), something is not working.
    If I try to go to the website that it creates in IIS
    http://localhost:12291 I get a 403 error. Also if I perform the powershell query to get the port number "Get-WFFarm | ft WFMgmtHttpPort" I don't get any value returned to me.
    Until I validate that the Workflow Manager is installed and working, I will not attempt to pair it to the SharePoint 2013 farm. Which hopefully makes this a Workflow Manager question not a SharePoint issue.
    Can anyone offer any suggestions please? Should I even get a valid webpage if I hit localhost:12291? According to one walkthrough I've looked at I should get an XML display of workflow and security configurations.

    I experienced the same two issues mentioned in this thread today.
    Regarding  the proper XML not appearing at <workflowhost>:12291 I was experiencing the same with an error message in Chrome saying the caller lacked read permissions, and 403 in IE. I had checked IIS, database permissions and connections and more.
    All of the setup messages and status checks were a-okay. I voted Zimo's comment as helpful because it cued me in to examine the service in Central Administration - where I found there was no administrator assigned to the workflow service. As soon as that was
    done, the workflow host site was brows-able.
    The resolution to SharePoint Designer not offering 2013 workflows as an option was in my case that there was an additional WFE on which I had not installed the Workflow Manager
    Client. This is noted with a bright yellow box in the section about configuring workflow with HTTP here:
    http://technet.microsoft.com/en-us/library/jj658588(v=office.15)
    If puzzles are good for your BRAIN then SharePoint will keep it really healthy!
    Ramona Maxwell MCPD
    SharePoint 2010, MCITP
    SQL Server 2008

  • Is there a way that i can downgrade my iOS 7.1 on my iPhone 4 to iOS 6xx? battery life not good, and performance isn't better than iOS 6.. Please apple i am really disappointed with iOS 7 on my iPhone 4

    Is there a way that i can downgrade my iOS 7.1 on my iPhone 4 to iOS 6xx? battery life not good, and performance isn't better than iOS 6.. Please apple i am really disappointed with iOS 7 on my iPhone 4, it can runs great on iPhone above 4 such as 5/5s/etc.. iPhone 4 just good with iOS 6...

    No.

  • Diff: Version on workflow builder and Maintain Active Plan version on SWU3

    Group,
    Can any one help me to understand the Version on workflow builder and Maintain Active Plan version on SWU3
    Thanks in advance !
    Richard A

    Dear Richard Antony,
    The Versioning in the Workflow is very important its some what simmilar to the version on any SAP Objets like Tables, Program etc.
    Here Suppose any change comes in working workflow, then in stead of directly change them you can create a version of them and them modify it. So that you can reverst back to that version if required.
    Like wise there is lots of importance of versioning Workflow.
    The Active Plan version is also important to establish at SWU3. As all the Workflow is using Organization management which is very depended on the Active Plan version. so based on which Plan version you want to use you can Provide in SWU3 to tell Workflow system to use this.
    Hope this will give you a clear picture.
    Regards,
    Chandrashekhar.

  • Forms and Reports: Automated Test tools - functionality AND performance

    All,
    I'm looking to get a few leads on an automated test tools that may be used to validate Oracle forms and reports (see my software configuration below). I'm looking for tools that can automate both functional tests and performance. By this I mean;
    Functional Testing:
    * Use of shortcut keys
    * Navigation between fields
    * Screen organisation (filed locations)
    * Exercise forms validation (bad input values)
    * Provide values to forms and simulate user commit, and go and verify database state is as expected
    Performance Testing:
    * carry out tests for fixed user load
    * carry out tests for scaled step increase in user load
    * automated collection of log files and metrics during test
    So far I have:
    http://www.neotys.com/
    Thanks in advance for your response.
    Mathew Butler
    Configuration:
    Red Hat Enterprise Linux x86-64 architecture v4.5 64 bit
    Oracle Application Server 10.1.2.0.2 ( with patch 10.1.2.3 )
    Oracle Developer Suite (Oracle Forms and Reports) V10.1.2.0.2 ( with patch 10.1.2.3 )
    Oracle JInitiator 1.3.1.17 or later
    Microsoft Internet Explorer 6

    are there any tools for doing this activity like oracle recommended tools?
    Your question is unclear.  As IK mentioned, the only tool you need is a new version of Oracle Forms/Reports.  Open your v10 modules in a v11 Builder and select Save.  You now have a v11 module.  Doing a "Compile All PL/SQL" before saving is a good idea, but not required.  The Builders and utilites provided with the version 11 installation are the only supported tools for upgrading your application.  If you are trying to do the conversion of many Forms files in a scripted manner, you can use the Forms compiler in a script.  Generating new "X" files will also update the source modules (fmb, mmb, pll).  See MyOracleSupport Note 955143.1
    Also included in the installation in the Forms Migration Assistant.  Although it is more useful to people coming from older versions, it can also be used to move from v10 to 11.  It allows you to select more than one file at a time.  Documentation for this utility can be found in the Forms Upgrade Guide.
    Using the Oracle Forms Migration Assistant

  • ASO MDX member formula and performance

    Hi,
    I am doing some testing about MDX formulas and performance. I found a performance issue but I can not understand why is taking so long time a report.
    The situation is:
    I create a report or a MDX query with:
    6 dimensions in row and 1 dimension in column
    rows:
    Period - Filtered using a member
    Year - Filtered using a member
    Relationship Manager - Filtered using a member
    Report Type - Filtered using a member
    Local Relationship Manager - 4400 members level 0
    Global Relationship Manager - 10400 members level 0
    Column:
    Account dimension, only a member
    The member selected for Report Type (RM.Local) has a formula
    My Report Type dimension has 10 members, there is one member where I store data called : RM.Input
    My first test was
    RM.Local his formula is [RM.Input] , the report is run in 1 second
    RM.Local his formula is ([RM.Input],[MTD]) where MTD is a member level 0 store in my view dimension. The report run in 20 minutes. I was not expecting so bad performance when I only pointing at [RM.Input],[MTD]
    Do you consider this time is reasonable when I am using this formula?
    The mdx report is:
    With
    set [_Local Relationship Manager3] as 'Descendants([All Local Relationship Managers], 2)' = level 0 members
    set [_Global Relationship Manager4] as '[Global Relationship Manager].Generations(4).members' = level 0 members
    set [_Period0] as '{[Period].[Oct]}'
    set [_Relationship Manager4] as '{[Relationship Manager].[Dummy1)]}'
    set [_Report Type0] as '{[Report Type].[RM.Local]}'
    set [_Year2] as '{[Year].[FY-2013]}'
    select
    { [Account].[Expenses]
    } on columns,
    NON EMPTY {crossjoin({[_Local Relationship Manager3]},crossjoin({[_Global Relationship Manager4]},crossjoin({[_Period0]},crossjoin({[_Relationship Manager4]},crossjoin({[_Report Type0]},{[_Year2]})))))} properties MEMBER_NAME, GEN_NUMBER, [Global Relationship Manager].[MEMBER_UNIQUE_NAME], [Global Relationship Manager].[Memnor], [Local Relationship Manager].[MEMBER_UNIQUE_NAME], [Local Relationship Manager].[Memnor], [Relationship Manager].[MEMBER_UNIQUE_NAME], [Relationship Manager].[Memnor], [Period].[Default], [Report Type].[Default], [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor] on rows
    from [DICISRM.DICISRM]

    Ok Try this one
    But here you have to change the MDX formula every month.
    Year
    --FY2009
    --FY2010
    --FY2011
    --FY2012
    Period
    --TotalYear
    ----Qtr1
    -------Jan
    -------Feb
    -------Mar
    Let say if you're CurrentYear  is FY2011 and you're Current Month is March then you're MDX will be
    case when contains([Year].CurrentMember,MemberRange([FY2009],[FY2010])) and contains([Period].CurrentMember,MemberRange([Jan],[Feb]))
    Then
    B
    else
    C
    end
    For the Next month you just have to make a change in the MemberRange I.e.,(Replace Feb with Mar)
    *case when contains([Year].CurrentMember,MemberRange([FY2009],[FY2010])) and contains([Period].CurrentMember,MemberRange([Jan],[Mar]))*
    Then
    B
    else
    C
    end
    I tested it and Its working fine.
    I think this will solve you're problem but there might be a more elegant solution out there.
    Regards,
    RSG

  • Invoice Number and Performa invoice number

    Hi all
      I want to get the combination of invoice Number and Performa invoice number, I have got the VBFA Table, but it’s very slow, any alternative program or function please help me
    Thanks
    Kanishka

    Try AC_DOCUMENT_RECORD. It returns all kind of accounting documents.

  • How can I optimize my hard disk drive usage and performance in Windows 8 or Windows 7?

    QuestionHow can I optimize my hard disk drive usage and performance in Windows 8 or Windows 7?
    AnswerThere are a few simple steps you can take to ensure your hard disk drive is used optimally.
    Use Toshiba HDD Protection
    Many Toshiba laptops come with a program called Toshiba HDD Protection pre-installed. This program helps to protect your hard disk drive from being damaged due to falls or impacts. By default, it should already be enabled. You might be tempted to lower the detection levels in this application, but doing so could cause your hard disk drive to be damaged. Remember that while the application can reduce the chance of damage, you should still avoid allowing the laptop to fall or suffer rapid impacts.
    For more information on this utility, see the following article:
    TOSHIBA HDD Protection
    Optimize the drive
    Windows 8 and Windows 7 optimize hard disk drives automatically through a process called defragmentation. Unless you've disabled this, you don't need to do anything. If you have disabled this and want to run the process, you can still do so.
    In Windows 8, search for "Defrag" at the Windows Start screen and select "Defragment and optimize your drives."
    In Windows 7, search for "Defrag" in the Start Menu's search field and select "Disk defragmenter."
    You can use this tool to optimize your hard disk drives, allowing Windows to find needed files faster.
    Remove items from startup
    Some applications run automatically when Windows starts. This can add additional functionality, but it also decreases the performance of your computer. Sometimes you might want to disable certain programs from starting automatically.
    In Windows 8, search for "Task Manager" at the Start screen. Select the "Startup" tab. Select an application you'd like to disable from starting automatically and then click the "Disable" button in the lower-right.
    In Windows 7, type "msconfig" in the Start Menu's search field and press ENTER. Uncheck the boxes next to applications you'd like to disable from starting automatically.
    You should be sure of the purpose of an application before disabling it from starting automatically. Some applications might be important. If in doubt, you might consider searching on the Web to discover more information about a program. Remember that if you find that you disabled something vital, you can always re-enable it.
    For more information, please see the following video:

    QuestionHow can I optimize my hard disk drive usage and performance in Windows 8 or Windows 7?
    AnswerThere are a few simple steps you can take to ensure your hard disk drive is used optimally.
    Use Toshiba HDD Protection
    Many Toshiba laptops come with a program called Toshiba HDD Protection pre-installed. This program helps to protect your hard disk drive from being damaged due to falls or impacts. By default, it should already be enabled. You might be tempted to lower the detection levels in this application, but doing so could cause your hard disk drive to be damaged. Remember that while the application can reduce the chance of damage, you should still avoid allowing the laptop to fall or suffer rapid impacts.
    For more information on this utility, see the following article:
    TOSHIBA HDD Protection
    Optimize the drive
    Windows 8 and Windows 7 optimize hard disk drives automatically through a process called defragmentation. Unless you've disabled this, you don't need to do anything. If you have disabled this and want to run the process, you can still do so.
    In Windows 8, search for "Defrag" at the Windows Start screen and select "Defragment and optimize your drives."
    In Windows 7, search for "Defrag" in the Start Menu's search field and select "Disk defragmenter."
    You can use this tool to optimize your hard disk drives, allowing Windows to find needed files faster.
    Remove items from startup
    Some applications run automatically when Windows starts. This can add additional functionality, but it also decreases the performance of your computer. Sometimes you might want to disable certain programs from starting automatically.
    In Windows 8, search for "Task Manager" at the Start screen. Select the "Startup" tab. Select an application you'd like to disable from starting automatically and then click the "Disable" button in the lower-right.
    In Windows 7, type "msconfig" in the Start Menu's search field and press ENTER. Uncheck the boxes next to applications you'd like to disable from starting automatically.
    You should be sure of the purpose of an application before disabling it from starting automatically. Some applications might be important. If in doubt, you might consider searching on the Web to discover more information about a program. Remember that if you find that you disabled something vital, you can always re-enable it.
    For more information, please see the following video:

Maybe you are looking for

  • Upgrade to Win 7 (64bit) from Vista 32 - Not enough H Disk space after running Windows easy transfer

    Hello all! I upgraded from Vista 32 to Windows 7(64bit) using the custom install as per instruction found on Lenovo and the upgrade has gone well.  My machine is running much better and faster now.  However, I tried to transfer my files with easy tra

  • IDOC Missing Segment Field

    Hi, Some of my outbound IDOC's are missing a particular field in the Segment..... This is probably because that Segment field don't have any value and hence missing from IDOC. What can be the possible approach for Solving this probelm?

  • I send emails to a friend in Germany and he recieves it all garbled?

    THis is what my email friend recieves when I send a normal email.!!!! Hi Brian I still can't read your e-mails but I thought you might want to read this at least https://uk.eurosport.yahoo.com/blogs/cow-corner/-missing--poster-in-australi a-risks-ups

  • Database query GUI

    Hello everyone, I'm a software developer and a customer wants a GUI for managing TestStand results out of a database - essentially, doing a bunch of data mining operations (reporting, summarizing, graphing, etc.).  I'm about to write him some softwar

  • Anyone know how to find and replace a hard drive cable fo an HP Pavilion zv5160us laptop?

    I received message that my hard drive had failed.  I ordered an identical drive and replaced it.  I now get error message: PXE-E61:  Media test failure, check cable PXE-M0F:  exiting PXE ROM The recovery disks will not reformat the drive.  What does