Parallel processing in quotation approval

In approval process
1) no of approvers are determined at run time i.e w.r.t discount value( 2 or 3).
2) By using FM i got the approvers in my workflow container as (app1,app2,app3) (3 container elements).
3) Here i need to trigger the workitem at a time with information in send mail step for all approvers at a time ( if 3 of them is approved the status of the quotation should change to status released.
4) if anyone is rejected among them then  no status change required.
problem here is  how to send the workitem to 2 or 3 approvers at a time  and how do we know all of them are approved or rejected that

Hi SAUMYA,
   I GOT THE DATA IN MULTILINE CONTAINER BY USING METHOD, I HAVE CREATED A METHOD  WHICH GIVES POP-UP WITH APPROVE OR REJECT BUTTONS , I PUT THE MULTILINE CONTAINER ELEMENT IN Miscellaneous TAB  OF APPROVAL  STEP THAT  USER PRESSES APPROVE  RESULT ELEMENT IS '0' IF HE PRESSES REJECT VALUE '4' IS PASSED TO RESULT ELEMENT,  MY REQUIREMENT IS IF ALL APPROVERS GET THE WORKITEM  AT A TIME BY USING DYNAMIC PARALLEL PROCESSING , BUT HOW TO KNOW ALL OF THEM ARE APPROVED AND REJECTED , THE WORKFLOW SHOULD EXECUTE NEXT STEP TILL ALL OF THEM ARE EITHER APPROVED OR REJECTED. IF ANY ONE OF THEM IS REJECTED THEN WORKFLOW WILL BE COMPLETED AT THAT POINT.

Similar Messages

  • BPM Parallel Process with Exclusive Gateway

    Hi,
    I am facing issue with Exclusive Gateway in Parallel Process.
    Issu is, process always in In-Progress state at parallel Join. I mean process stops at Parallel Join and more over there are no errors in the process. If I delete Exclusive Gateway in Parallel process, the process is going to next level human task through Parallel Join. It means working fine.
    I have designed my process in such a way that, 1st task is Human Task ---> then Parallel Split with 2 Human tasks, out of one task performing throught Excusive Gateway and another one is just simple approval. Finally I am merging these two Human tasks using Parallel Join then finally triggerting Approval Human task, and closing the Process.
    Appreciate your quick suggestions to fix this issue.
    Thanks in advance,
    Dev...

    Hi Unni,
    Thanks for your reply.
    I have checked all the parallel tasks and all are in completed state. No errors.
    If I delete Exclusive Gateway it is working fine. I have checked step by step tasks in NWA, and every thing goes well.
    Please let me know If I missout anything.
    Thanks in advance,
    Dev

  • Issue in completing the block step for parallel processing

    Hi,
    i have created a workflow where in i have used a block step to send workitems to multiple agents.  I have used parallel processing in block step. Number of agents are determined in the runtime. Lets say i have two items in my multiple line container( two agent id). Now inside block statement i have put user decesion step. So at the same time workitems goes to the two approver for approval. When both approver take the decesion after that also command is not coming out of the block step. I want the command to be out of block step after this and goes to the next step of workflow.
    Please suggest any helpful solution for it.
    Regards,
    Smit Shah

    I think theremust be a binding problem , the binding must be some thing like the below
    &USERID[&_WF_PARFOREACH_INDEX&]& ----->&_USERID_LINE&
    of the block step from WF container to Block Conatiner. Because when I checked in my system it is behaving as you want., I also include one Decision step inside the block, and then hard coded the userid values int the table USERID and made the above binding and it ia working fine and in the Decision Agent I mentiond the EXPRESSION and assigned the value &_USERID_LINE&

  • Dynamic parallel processing using a multiline container element

    Hi All ,
      I just wanted to how things work when we use "Dynamic parallel processing" for a decision step . I came across a situation wherein a Rule gets the approving user(s) and the work item should be sent to all those users . After getting an approval from all the users , the workflow should proceed or else it should terminate .
       I was just wondering whether "Dynamic parallel processing" will do this job or not . I had also thought of using forks but as the number of approvers are  decided at runtime , i dont think it is possible .
       Any inputs ?
      Edit : We are working on CRM 5.0
    Thanks ,
    Shounak M.
    Message was edited by: Shounak  M

    Hi Shounak,
    Just do as Mike says:
    use the multiline element for a subflow.
    The subflow consists of your user decision, if someone rejects it, remember it (could be done by updating a small table using a method, or use an event, or what mike suggested, updating appending a table )
    In the top flow, after the multiline element step determine if someone rejected it (wait for event, or reading the table).
    Kind regards, Rob Dielemans
    Message was edited by: Rob Dielemans

  • Dynamic parallel processing of the same object using asynchronous method

    Hi,
    Please can anyone help me?
    I have to send the same DMS document to several agents for parallel processing. The number of agents is not known until runtime. Each of them should process the document and at least change the status of it. In next step I check if he has changed it.
    I use dynamic parallel processing of subworkflows. Key task of this subworkflow uses standard method of object DRAW - DOCUMENT.EDIT  (standard transaction CV02N) which is asynchronous. The task is finished by event DOCUMENT.CHANGED. 
    During the parallel processing the appropriate number of workitems is generated. However, when the agent who processes the document as first completes his workitem the event DOCUMENT.CHANGED is generated and all parallel workitems are completed, even those of other agents that were not processed yet.
    Any help would be appreciated.
    Thanks.
    Eva Vahalova

    Hi all,
    The process is used to approve incoming invoices. Each scanned invoice is attached to a DMS document and than sent to one or several agents in parallel. People from several departments can approve the same invoice for instance energy or mobile phone costs. We have no HR module fully implemented. Each agent may write some remarks and has to sets the document status to either approved or rejected. This status is temporary therefore the others see the original status for approving.
    The process of incoming invoices was implemented by SAP consultants in 2003 on 4.6B and now runs on our 4.7 system.  Now new company was established running on a new SAP system ECC 6.0 and our accountant department and some agents will deal with invoices in both systems. Therefore, the process should appear the same or at least very similar. The majority of the old process was realized by programming while I would like to use workflow features that are available now and reduce the programming part.
    As I see, I will have to choose one of the solutions that Arghadip suggested.
    I wonder if there is a possibility to use asynchronous method and control the end of each work item by means of u201CComplete Work Itemu201D or u201CComplete executionu201D Conditions. I have never used them and I do not know how they work and what condition to use. Maybe program exit might be used as well. While controlling the agents I think I will have to do some programming anyway because the work item can be finished by a substitute too.
    Thanks for your help.
    Eva

  • Completing the block step for parallel processing

    Hello ,
    I"m  using a  ParForEach  block   .
    It works fine and  2   approves get their decision task  respectively ,
    I  want to end all parrallel  processes if one of the   approvers select the reject  option  .
    I  thought it could be done using the  End condition Option .
    I have defined an end condition    in  the tab  Parallel  Procesing  ,  the condition  is  an  element wf_result is set to REJECT
    was defined.
      But   nothing resulted and althogh i check  the container and the  element is correctly   assigned after one of the approvers
      rejects  the  other is still  sitting there.
    i  ran  the condiion evalate button  on  this step  with no   success .
    Please Advise

    Hi Rina
    In EHP4, there is the following workflows for Compensation:
    04000022 ECM_SUBMIT
    04000024 ECM_REJECT
    04000025 ECM_CREATE
    together with class CL_HRECM00_WORKFLOW_EVENT.
    There, the parallel processing is used.
    Best Regards
    Raquel

  • Parallel processing of condition records in SAP

    Hi,
    I have a particular scenario, wherein XI sends 30000 idocs for pricing condition records of message type COND_A to SAP, and SAP has to process all the idocs within 15 minutes. Is it possible, and what kind of parallel processing techniques can be used to achieve this?
    Regards,
    Vijay
    Edited by: Vijay Iyengar on Feb 21, 2008 2:05 PM

    Hi
    We had a similar performance issue to load conditions of sales deal.
    We did not use IDOC.
    Initially we did the BDC and it was loading 19 records per second and than later we developed a direct input program, which loaded close to 900 records per second.
    What we did was, we wrote a direct input pogram and called the function module
    CALL FUNCTION 'RV_KONDITION_SICHERN_V13A' IN UPDATE TASK
    But Pls note - We took approval from SAP before using it.
    Regards
    Madhan
    Edited by: Madhan Doraikannan on Oct 20, 2008 11:40 AM

  • Parallel Processing Problems!

    Hello!
    I have a WF with a parallel processing sending a workitem to each user that I choose in a Z program, that's ok.
    What I need is to start the next step ONLY if all the aprovers approve it, if one of then reject it I need another action.
    Now if just one of the appprovers aprove the step, my WF is going to the next... How can wait all approvals to start the next step???
    am I clear?
    Tks
    Marcos Munhos

    I think the Parallel approval step always wait for the remaining approvers to approve which are in the Approval step. I think you need to check whether the parallel approval is properly defined in the Miscalleanious or Others Tab.
    If the parallel approval step is a Subworkflow then it is difficult to evaluate all the approval done or not. May be you have to make use of container operation.
    Thanks
    Arghadip

  • Parallel Processing : Unable to capture return results using RECIEVE

    Hi,
    I am using parallel processing in one of my program and it is working fine but I am not able to collect return results using RECIEVE statement.
    I am using
      CALL FUNCTION <FUNCTION MODULE NAME>
             STARTING NEW TASK TASKNAME DESTINATION IN GROUP DEFAULT_GROUP
             PERFORMING RETURN_INFO ON END OF TASK
    and then in subroutine RETURN_INFO I am using RECEIVE statement.
    My RFC is calling another BAPI and doing explicit commit as well.
    Any pointer will be of great help.
    Regards,
    Deepak Bhalla
    Message was edited by: Deepak Bhalla
    I used the wait command after rfc call and it worked additionally I have used Message switch in Receive statement because RECIEVE statement was returing sy-subrc 2.

    Not sure what's going on here. Possibly a corrupt drive? Or the target drive is full?
    Try running the imagex command manually from a F8 cmd window (in WinPE)
    "\\OCS-MDT\CCBShare$\Tools\X64\imagex.exe" /capture /compress maximum C: "\\OCS-MDT\CCBShare$\Captures\CCB01-8_15_14.wim" "CCB01CDrive" /flags ENTERPRISE
    Keith Garner - Principal Consultant [owner] -
    http://DeploymentLive.com

  • Parallel processing of mass data : sy-subrc value is not changed

    Hi,
    I have used the Parallel processing of mass data using the "Start New Task" . In my function module I am handling the exceptions and finally raise the application specific old exception to be handled in my main report program. Somehow the sy-subrc is not getting changed and always returns 0 even if the expection is raised.
    Can anyone help me about the same.
    Thanks & Regards,
    Nitin

    Hi Silky,
    I've build a block of code to explain this.
      DATA: ls_edgar TYPE zedgar,
            l_task(40).
      DELETE FROM zedgar.
      COMMIT WORK.
      l_task = 'task1'.
      ls_edgar-matnr = '123'.
      ls_edgar-text = 'qwe'.
      CALL FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' STARTING NEW TASK l_task PERFORMING f_go ON END OF TASK
        EXPORTING
          line = ls_edgar.
      l_task = 'task2'.
      ls_edgar-matnr = 'abc'.
      ls_edgar-text = 'def'.
      CALL FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' STARTING NEW TASK l_task PERFORMING f_go ON END OF TASK
        EXPORTING
          line = ls_edgar.
      l_task = 'task3'.
      ls_edgar-matnr = '456'.
      ls_edgar-text = 'xyz'.
      CALL FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' STARTING NEW TASK l_task PERFORMING f_go ON END OF TASK
        EXPORTING
          line = ls_edgar.
    *&      Form  f_go
    FORM f_go USING p_c TYPE ctype.
      RECEIVE RESULTS FROM FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' EXCEPTIONS err = 2.
      IF sy-subrc = 2.
    *this won't affect the LUW of the received function
        ROLLBACK WORK.
      ELSE.
    *this won't affect the LUW of the received function
        COMMIT WORK.
      ENDIF.
    ENDFORM.                    "f_go
    and the function is:
    FUNCTION z_edgar_commit_rollback.
    *"*"Interface local:
    *"  IMPORTING
    *"     VALUE(LINE) TYPE  ZEDGAR
    *"  EXCEPTIONS
    *"      ERR
      MODIFY zedgar FROM line.
      IF line-matnr CP 'a*'.
    *comment raise or rollback/commit to test
    *    RAISE err.
        ROLLBACK WORK.
      ELSE.
        COMMIT WORK.
      ENDIF.
    ENDFUNCTION.
    ok.
    In your main program you have a Logical Unit of Work (LUW), witch consists of an application transaction and is associated with a database transaction. Once you start a new task, your creating an independent LUW, with it's own database transaction.
    So if you do a commit or rollback in your function the effect is only on the records your processing in the function.
    There is a way to capture the event when this LUW concludes in the main LUW. That is the PERFORMING whatever ON END OF TASK. In there you can get the result of the function but you cannot commit or rollback the LUW from the function since it already have implicitly happened at the conclusion of the funtion. You can test it by correctly comment the code I've supplied.
    So, if you  want to rollback the LUW of the function you better do it inside it.
    I don't think it matches exactly your question, maybe it lead you on the right track. Give me more details if it doesn't.
    Hope it helps,
    Edgar

  • Parallel Processing and Capacity Utilization

    Dear Guru's,
    We have following requirement.
    Workcenter A Capacity is 1000.   (Operations are similar)
    Workcenter B Capacity is 1500.   (Operations are similar)
    Workcenter C Capacity is 2000.   (Operations are similar)
    1) For Product A: Production Order Qty is 4500. Can we use all workcenter as a parallel processing through Routing.
    2) For Product B: Production Order Qty is 2500. Can we use only W/C A and B as a parallel processing through Routing.
    If yes, plz explain how?
    Regards,
    Rashid Masood

    May be you can create a virtual WC VWCA=ABC (connected with a hierarchy with transaction CR22) and another VWCB=A+B and route your products to each VWC

  • Parallel processing open items (FPO4P)

    Hello,
    I have a question about transaction FPO4p (parallel processing of open items).
    When saving the parameters the following message always appears : "Report cannot be evaluated in parallel". The information details tells that when you use a specific parallel processing object, you also need to use that field to sort on.
    I my case I use the object GPART for parallel processing (see tab technical settings). In the tab output control I selected a line layout which is sorted by business partner (GPART). Furthermore no selection options are used.
    Does anyone know why the transaction cannot save the parameters and shows the error message specified above. I really don't know what goes wrong.
    Thank you in advance.
    Regards, Ramon.

    Ramon
    Apply note 1115456.
    Maybe that note can help you
    Regards
    Arcturus

  • How to do parallel processing with dynamic internal table

    Hi All,
    I need to implement parallel processing that involves dynamically created internal tables. I tried doing so using RFC function modules (using starting new task and other such methods) but didn't get success this requires RFC enabled function modules and at the same time RFC enabled function modules do not allow generic data type (STANDARD TABLE) which is needed for passing dynamic internal tables. My exact requirement is as follows:
    1. I've large chunk of data in two internal tables, one of them is formed dynamically and hence it's structure is not known at the time of coding.
    2. This data has to be processed together to generate another internal table, whose structure is pre-defined. But this data processing is taking very long time as the number of records are close to a million.
    3. I need to divide the dynamic internal table into (say) 1000 records each and pass to a function module and submit it to run in another task. Many such tasks will be executed in parallel.
    4. The function module running in parallel can insert the processed data into a database table and the main program can access it from there.
    Unfortunately, due to the limitation of not allowing generic data types in RFC, I'm unable to do this. Does anyone has any idea how to implement parallel processing using dynamic internal tables in these type of conditions.
    Any help will be highly appreciated.
    Thanks and regards,
    Ashin

    try the below code...
      DATA: w_subrc TYPE sy-subrc.
      DATA: w_infty(5) TYPE  c.
      data: w_string type string.
      FIELD-SYMBOLS: <f1> TYPE table.
      FIELD-SYMBOLS: <f1_wa> TYPE ANY.
      DATA: ref_tab TYPE REF TO data.
      CONCATENATE 'P' infty INTO w_infty.
      CREATE DATA ref_tab TYPE STANDARD TABLE OF (w_infty).
      ASSIGN ref_tab->* TO <f1>.
    * Create dynamic work area
      CREATE DATA ref_tab TYPE (w_infty).
      ASSIGN ref_tab->* TO <f1_wa>.
      IF begda IS INITIAL.
        begda = '18000101'.
      ENDIF.
      IF endda IS INITIAL.
        endda = '99991231'.
      ENDIF.
      CALL FUNCTION 'HR_READ_INFOTYPE'
        EXPORTING
          pernr           = pernr
          infty           = infty
          begda           = '18000101'
          endda           = '99991231'
        IMPORTING
          subrc           = w_subrc
        TABLES
          infty_tab       = <f1>
        EXCEPTIONS
          infty_not_found = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        subrc = w_subrc.
      ELSE.
      ENDIF.

  • How to achieve parallel processing in a single request?

    Hi all,
    I have a method in a Session EJB that will perform some business logic before it returns an answer to the client. The logic it will perform is to collect data from the applications database and two external systems, before sending all data to a third external system to get a response and send it back to the client. Each external system is quite slow so I would like to do all the collecting of data concurrent, parallel processing. How should I handle this? I'm not allowed to create my own threads in EJB's. Can I use MDB in some way? To the calling client this should be a synchronous call...
    Greatfull for any suggestions
    Cheers
    Anders =)

    Usually, the request is received by a component located in the web container, such as by an HTTP request (including Web Services). This component is able to start threads to allow parallel processing. Now, if for some reason the request arrives directly at EJB level and that you cannot move its receiver to web component, I think JMS is not a viable solution because you will switch to asynchronous processing and you have no way to make your EJB wait for the responses while preserving the client request (waiting implies programmatic life cycle management, which is forbidden in EJB container). Maybe a resource adapter (JCA) can bring a solution. A resource adapter acts as a datasource (a datasource is a specialization of a resource adapter) and thus it is a logical way to implement an adapter to an external, eventually non-J2EE, resource, as the name implies :) But I don't have enough knowledge in JCA to be sure of this.
    Hope it helps.
    Bruno Collet
    http://www.practicalsoftwarearchitect.com

  • FORK is Not happening Parallel processing- It's working sequential

    Hi,
       we are into PI 7.O and SP 13.
       I am trying to test Parallel processing using Fork step. (With Two branches)
    My problem is sxm_moni both branches are not executed simultenously and it's executing one after the other.
    Did any body done in XI parallel processing using BPM...both calls has to finish at the same time. I mean first call 10 min and second call aslo has to finish first 10 min ..not other 10 min.
    I heard this problem from XI 3.0 and PI 7.O. But PI 7.1 did any body test the Parallel processing using Fork step.
       Pls help me is this issue will resolve if I go to PI 7.1.
    Regards,
    Venu.

    Hi Henrique,
    they would not necessarily start at the same time but shouldnt also be queued - Customer expecting the response within a 17 sec or 20 Sec but coming response 34 sec will not ok for the customer..tomorrow need add some more target again 17 sec will take...How PI can handle the Multi threading they are checking...I am not sure this problem fixed in PI 7.1 or not.
    there're # of connection restrictions in your system? Check that - Where can I check connections restrictions...If you know pls through some light on this.
    Also, how's your BPM transactional behavior (did you flag the create new transaction steps)?
    - I did not checked the flag for create new transaction step..once my server is up I can check the flag and I can test.
    Regards,
    Venu.

Maybe you are looking for

  • Is there a way to have the effect in a panel ???

    Using the effect in the property panel is very powerfull, but very annoying when you use more than 4 filters. So is there an extension to have the effects list ( or as you call "Live filters" area) out of the property panel ... in it's own panel ? Ca

  • Applications don't display correct filenames with special charactars

    Hi, my problem is that some applications does not display correct filenames which have special characters in their names, like accentuated Hungarian or Romanian characters, @, etc. This behavior is specific for all QT/KDE apps, tilda, xfce4-terminal,

  • All songs not displaying

    I am using itunes 7.02 on my PC. My laptop has itunes 6.05. When I do a power search in the music store for example Johnny Mathis on my PC (itunes 7.02) I see only 4 songs. When i searh for Johnny Mathis on my laptop (itunes 6.05) I see many many son

  • Issue with SharedObjects between Air 3.4 and Air 3.5

    I opened a bug a while ago https://bugbase.adobe.com/index.cfm?event=bug&id=3347676 but I am not sure if the bug is being worked on or not, I see Reason "Waiting" and not really suire what that means. The issue is this, I have been storing some infro

  • Lost Network Tab in Finder Window

    I seem to have somehow moved the Network tab out of my finder window and now it is gone. How can I get this back? Thanks!! Macbook Pro   Mac OS X (10.4.9)