How to achieve process rework in WLI 8.1?

Hi,
I am using WLI 8.1 SP2. I am trying to model a workflow application using WLI.
My workflow requires to have rework functionality i.e at any step in the workflow,
the user might like to rework the process starting from any of the completed steps.
For e.g, lets say my process has 5 tasks T1,T2,T3,T4 and T5. Currently lets say
T1,T2,T3 are complete and T4 has started. Now the user wants to re-enter the process
again from T2. So now T2, T3 will be reworked and completed, after which T4 will
be created again. I would like to stay within the same process instance rather
than starting a new process instance. Is there any way of designing this as a
generic solution?( i.e you can re-enter at any step). Can we modify/move the execution
point within WLI process by any way?

You should design the model itself the way that it can move back to another
step. That essentially means that you have to make a loop of some kind to be
able to return to an earlier point in the process flow. The most versatile
solution in my opinion is to make a loop, and make an event-choice inside
the loop. Make control receives for each task completion (and possibly other
task termination callbacks as well) as a separate branch in the
event-choice, and maintain the actual state you are in the process flow in a
variable in the workflow.
You should check at each control receive that you are in the correct state
to get that control receive, if you are then carry out the appropriate
operations including possibly creating new worklist entries, and change the
actual state variable in which you keep track of the actual state to reflect
the new state of the process flow.
Regards,
Robert varga
"Arun" <[email protected]> wrote in message
news:[email protected]..
>
Hi,
I am using WLI 8.1 SP2. I am trying to model a workflow application usingWLI.
My workflow requires to have rework functionality i.e at any step in theworkflow,
the user might like to rework the process starting from any of thecompleted steps.
For e.g, lets say my process has 5 tasks T1,T2,T3,T4 and T5. Currentlylets say
T1,T2,T3 are complete and T4 has started. Now the user wants to re-enterthe process
again from T2. So now T2, T3 will be reworked and completed, after whichT4 will
be created again. I would like to stay within the same process instancerather
than starting a new process instance. Is there any way of designing thisas a
generic solution?( i.e you can re-enter at any step). Can we modify/movethe execution
point within WLI process by any way?

Similar Messages

  • How to achieve this process in SAP SD module??

    Hi,
    I want to know whether this kind of scenario could be achieved in SAP system SD module??
    We have only one material which the value or price is 10000USD, and this material could be only used 5 times. Everytime it is used, it will be goods issued in the system,  and its value will be decreased 2000USD, this means this material will be drawn back into system and its value will be showed as 8000USD.  And next time it will be 6000...4000...2000...0
    After 5 times this kind of process, then this material is no-used any more.
    I just want to know could 'Draw back' and 'decrease 2000USD everytime'  'show 'previous value - 2000' as new value every drawn back time' ....
    how to achieve this in SAP SD system??
    Thank you very much.

    Hi,
    This can be mapped in Foreign trade.You need to use Licensing functionality.Each  time you use it,  it  depreciate by document value.
    Thanks,
    Vrajesh

  • How to achieve automated posted for invoice and stock transfers

    Hi,
    I have following queries for an RFP, can some one give hints on how to achieve them in SAP
    o Receive self-billing documents from the customer, stating the deliveries and amounts that are settled and paid
    o Automatic posting of invoice documents from the vendor, based on the data from the purchase order and goods receipts
    o Process material stock transfers between two plants that use different SAP systems
    Thanks & Regards
    Raghu

    Hi,
    Normally when we do GR we take the cenvat credit by capturing & posting the excise invoice.
    This can be done using the t.codes - MIGO or J1IEX.
    So when the Material doc is posted the Part 1 register gets updated with Qty received.
    If we post the excise inv using either MIGO or J1IEX the Part 2 register gets updated.
    Now if you have done both the above then inorder to cancel the excise inv.
    1. You have to cancel the Material Doc (so system wil use the Mov type 102)
    2. Now Post your excise inv using J1IEX so that your Part1 reg will be updated ( i.e you are reversing the Cenvat Credit that you have availed).
    3. Finally you have to cancel the Excise inv document using J1IEX so that your Part 2 register wil be updated.
    Make sure that you do the above steps as per the above sequence else system will show the error as you mentioned.
    Hope its clear.
    Regards,
    Kiran

  • How to achieve the results by Query ??

    Hello Guys,
    I have couple tables which I need to join to get the result....This is what is in the tables...
    CList Table
    CID, Name
    A, ABC
    B,CDE
    C,JFK
    JList Table
    JID, Name
    1, Something
    2, Another
    3, Else
    4, Should be something
    JOb_2_Courses
    JobID, CourseID
    1,A
    1,B
    2,C
    Employee Table
    EID, Job_ID
    1A, 1
    2A,1
    3B,1
    2C,2
    23D,3
    CStatus Table
    StatusID, Desc
    1,Completed
    2,Pending Approval
    3,Declined
    4,Scheduled
    5,Register
    Now user can only register the course which are related with their job....NO course else.....
    When they register it is moved to temp_course_registration and then once completed to COURSE_HISTORY
    For Example : So Employee : 1A will see two courses to register A and B...
    Say he registers A....it makes an entry in temp_course_registration table with the course id, employeeid and date....
    With further steps once that status is updated to '1'.....the course is deleted from temp_course_registration and is moved to course_history........
    Now to show to the user...I need to include all my tables in the query and on the basis of status, show necessary things to the user....
    Output :
    Course_ID, Status.............
    Say if they completed the course will come from course_history, if in the process will come from temp_course_registration.....if nothing is in the tables for the specific employee...this means status is '5' and they need to register everything...
    Can someone let me know, how to achieve the results....
    Thanks,
    Harsimrat

    Hello
    I'm off home now so I can't look at the query, but for future reference, if you want to improve your chances of getting help, you need to provide simple create table statements, and test data to go with it. I've done that with what you provided and hopefully someone else will be able to help. Also, you were asked if you could provide this in your other thread...
    CREATE TABLE CList(CID varchar2(1), Name varchar2(3))
    insert into clist values('A', 'ABC');
    insert into clist values('B','CDE');
    insert into clist values('C','JFK');
    CREATE TABLE JList(JID number, Name varchar2(30))
    insert into jlist values(1, 'Something');
    insert into jlist values(2, 'Another');
    insert into jlist values(3, 'Else');
    insert into jlist values(4, 'Should be something');
    CREATE TABLE JOb_2_Courses(JobID number, CourseID varchar2(1))
    insert into job_2_courses VALUES(1,'A');
    insert into job_2_courses VALUES(1,'B');
    insert into job_2_courses VALUES(2,'C');
    CREATE TABLE Employee (EID varchar2(3), Job_ID number)
    INSERT INTO employee VALUES('1A', 1);
    INSERT INTO employee VALUES('2A',1);
    INSERT INTO employee VALUES('3B',1);
    INSERT INTO employee VALUES('2C',2);
    INSERT INTO employee VALUES('23D',3);
    CREATE TABLE CStatus(StatusID number, Descr varchar2(30))
    insert into cstatus values(1,'Completed');
    insert into cstatus values(2,'Pending Approval');
    insert into cstatus values(3,'Declined');
    insert into cstatus values(4,'Scheduled');
    insert into cstatus values(5,'Register');HTH
    David

  • How to Achieve Performance Tuning In BPM Studio

    Please Tell me how to achieve performance Tuning in BPm Project . let me know do have any documentation for this .
    Thanks in Advance .

    *5. Group Automatic Activities in a Single Transactional Boundary*
    When you have several automatic activities in a sequence, recognize this as a potential performance improvement opportunity. The default behavior of Oracle BPM is during each Automatic activity's execution:
    1. Initiate the transaction
    2. Read the work item instance's variable information from the Engine's database
    3. Execute the logic in the Automatic activity
    4. If no system exception occurs, commit the transaction and write the instance variable information back to the Engine's database
    Many times you'll instead want to speed execution when there are several Automatic activities in a sequence. If three Automatic activities are in a sequence, then the four items listed above will occur three times. By grouping these into a single transactional boundary, instead of 12 steps you would have:
    1. Initiate the transaction
    2. Read the work item instance's variable information from the Engine's database
    3. Execute the logic in the first Automatic activity
    4. Execute the logic in the second Automatic activity
    5. Execute the logic in the third Automatic activity
    6. If no system exception occurs, commit the transaction and write the instance variable information back to the Engine's database
    This grouping of Automatic activities into a single transactional boundary can be done in one of these three ways:
    1. Create a Group around the sequence of Automatic activities (lasso the three activities) -> right mouse click inside the dotted line -> click "Create a Group with Selection" -> click "Runtime" in the upper left corner -> click the checkbox "Is Atomic".
    2. Instead of placing the Automatic actiivities in the process, add them in a Procedure and then call the Procedure from a new Automatic activity in the process.
    3. In Oracle BPM 10g you can enable "Greedy" execution for the process by right mouse clicking the process's name in the Project Navigator tab -> click "Properties" -> click the "Advanced" tab -> click the "Enable Greedy Execution" radio button.
    Dan

  • How to generate Process chain status reports

    Hi Friends,
    I have a requirement to capture process chains runtime on a daily basis.
    I know we can get this in RSPCM, however my requirement is to automate this as a report. This report should be automatically generated daily and e-mail has to be sent to certain members of the project.
    Can someone please suggest how to go about this?.
    Regards
    Naveen

    Hi Raf,
    Thanks for the quick reply. yes, I have seen ST13 and it has all what i need like  date, PC Name, Start Time, End Time and Duration.
    However my requirement is that i should automate this to export it to a spreadsheet on a daily basis in the following format.
    PC Name
    PC1
    PC2
    Date
    ST
    ET
    DU
    ST
    ET
    DU
    28/04/2015
    09:00:18
    09:13:21
    00:13:03
    10:00:18
    11:13:21
    01:13:03
    29/04/2015
    10:00:18
    10:58:21
    00:58:03
    10:00:18
    12:58:21
    02:58:03
    30/04/2015
    11:00:18
    11:33:21
    00:33:03
    11:00:18
    11:33:21
    00:33:03
    Can you suggest how to achieve this?
    Regards
    BN

  • How to start process at tomcat startup

    Hello frens
    I need to start a process when tomcat startup
    the problem is when tomcat startup i have a bat file PushMsg.bat which content are as .............
    cd c:
    cd \tomcat\webapps\myApp\WEB-INF\classes
    java SendMsg
    i need to run this bat file as tomcat get startup .how to achieve this????????????

    Se16 -- table:RSPCPROCESSLOG - click on display entries.
    Entet the variant, instance start date (this info you can get from the "display message" of PC.
    Now execute to display the table entries of RSPCPROCESSLOG.
    Next goto SE37 transaction --enter RSPC_PROCESS_FINISH
    Take the entries from the above table to set the input parameters of the FM.
    I_logid = log_id(from above table)
    I_type = type(from above table)
    i_variant = varaint (from above table)
    i_instance = (from above table)
    Click on F8(EXECUTE)
    now the actual process is set to gree and the process chain will be triggered (rest of the PC with out repeating the step from where is was red).

  • How to achieve modularize in flex using cairngorm framework?

    Hi,
    I have seen many articles on flex and cairngorm but haven't found enough information on how to achieve modularization in flex using cairngorm framework.
    Please let me know any information regarding this.
    Thanks in advance.
    Vishnu

    Hi Sumit,
    I am also working similar kind of requirement. In my case I tried to add new tab subtab using personalization , how ever the add new item button is not enable.
    So I created new stacklayout and tried to add this to new tab in the existing subtablayout by using co process form request code:
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processRequest(oapagecontext, oawebbean);
    OracleCallableStatement oraclecallablestatement = null;
    OracleConnection oracleconnection = (OracleConnection)oapagecontext.getApplicationModule(oawebbean).getOADBTransaction().getJdbcConnection();
    try{
    oracleconnection.setAutoCommit(true);
    oraclecallablestatement = (OracleCallableStatement)oracleconnection.prepareCall("begin GLO_TMPVIJ_PRCV(:1); end;");
    oraclecallablestatement.setString(1,"In the custom co process request");
    oraclecallablestatement.execute();
    }catch(SQLException sqlexception)
    throw OAException.wrapperException(sqlexception);
    OASubTabLayoutBean subTabLayout =
    (OASubTabLayoutBean)oawebbean.findChildRecursive("ApplicationDetsTabLayout");
    OASubTabBarBean subtabbar = (OASubTabBarBean)oawebbean.findIndexedChildRecursive("subTabBar");
    OALinkBean link = (OALinkBean)oapagecontext.getWebBeanFactory().createWebBean(oapagecontext,
    OAWebBeanConstants.LINK_BEAN, null,
    "link");
    OAStackLayoutBean commentsRN =
    (OAStackLayoutBean)oapagecontext.getWebBeanFactory().createWebBean(oapagecontext,
    "/xxhr/oracle/apps/irc/candidateManagement/webui/CommentsRn",
    "CommentsRn", // always specify name
    true); // region created in Oracle9i JDeveloper OA Extension
    subTabLayout.addIndexedChild(commentsRN);
    subTabLayout.addIndexedChild(link);
    in this I am not ale to add the new tab.
    Regards,
    Vijay Reddy.

  • How to achieve SUBMIT for the current page when I click other tab?

    Problem: How to achieve SUBMIT for the current page when I click other tab?
    Description: I have a two-page application and each page associates with a tab. Say page1 associates tab1 and page2 associates tab2. In each page, I have a submit button, a after submit process associated to the submit button, and a tabular form. For page1, I fill out the fields and hit the button. The page1 will appear again and I can see the data I have insert. However, If I fill out the fields and click the tab2 (page 2) instead. when I come back to page1, the data I filled out are all gone. Is there any way in HTML DB to force the submit in the current page after you click other page. If use JavaScript, what is code looks like.
    Appreciate your time and your answer.
    Mike

    Scott,
    just for clarity, if I understood correctly what you said there are two possibilities:
    1) keep the standard tab branch and give up the possibility of validating page items. Below you can find an example of such cases.
    2) Replace the template substitution string and perform a "custom" button-like submit also adding a branch to the main page associated with the tab. Page items will be validated if the branch firing point is set after the validations.
    I couldn't find an example of the latter, but I found easily an example of the former:
    it's the "Report attributes", page 420 of app 4000.
    If you enter 'aaa' in the "Number of rows" form field and then you press "apply changes", htmldb correctly displays an inline error message saying that the value must be numeric. On the contrary, if you click on the "Region Definition" tab, htmldb takes you to a page showing an oracle exception:
    ORA-20001: Error in DML: p_rowid=4785927011172906402, p_alt_rowid=ID, p_rowid2=, p_alt_rowid2=. ORA-20001: Invalid numeric value aaa for column PLUG_QUERY_NUM_ROWS
    Bye,
    Flavio

  • How to achieve polymorphisim using composition

    How to achieve polymorphisim using composition

    Not possible. This is very wrong, polymorphism is very much facilitated by Composition (or Aggregation).
    Polymorphism goes hand in hand with
    either imlementing an interface or extending a class.The fundamental objective of Polymorphism is the handling/using Objects of multiple types in a uniform manner, i.e. to a fixed contract.
    Composition may be used to delegate the
    implementation of an interface or subclass' method.Composition allows much more than delegation, it about defining a static contract between two objects.
    composition itself is not polymorphic.The main difference between simple composition and polymorphism is the valence. In Polymorphism it is explicityly 1. .N in the case of composition it is implicitly 0..N
    I think this code proves that a Composition of classes for Odd and Even can be used polymorphically.
    public class Polymorphism {
      abstract public class Base {
        public void method()
          System.out.println( this.getClass().getName() + ".method()" ) ;
      public class Odd extends Base {
      public class Even extends Base {
      final int ARRAY_SIZE = 10;
      Base[] composition = new Base[ARRAY_SIZE] ;
      public Polymorphism() {
        for(int i = 0 ; i < ARRAY_SIZE ; i+=2 )
          composition[i] = new Even() ;
          composition[i+1] = new Odd() ;
      public void process() {
        for(int i = 0 ; i < ARRAY_SIZE ; i++ ) {
          composition.method() ;
    public static void main(String[] args) {
    Polymorphism polymorphism = new Polymorphism();
    polymorphism.process() ;

  • How to Achieve this Data Load into Cube

    Hi Experts,
    Could you please update me on how to achieve this
    I got a History data (25-35 Million Records) for about 8 years to be loaded to BW.
    What is the best approach to be followed
    1) Load everything into one cube and create aggregates or
    2) Create 4 different cubes (with same data model) and load load 2 years of data into each cune (2Years * 4 Cubes = 8 Years Data) and develop a multicube on top of 4 cubes
    If so how can i load data into respective cubes
    Ex: Lets assure i got data from 31.12.2007 to 01.01.2000 which is 8 years of data
    Now i created 4 Cubes--C1,C2,C3,C4 & C5
    How can i specifically
    load data from 01.01.2000 to 31.12.2001 (2 Years) to C1
    load data from 01.01.2002 to 31.12.2003 (2 Years) to C2
    load data from 01.01.2004 to 31.12.2005 (2 Years) to C3
    load data from 01.01.2006 to 31.12.2007 (2 Years) to C4
    load data from 01.01.2008 to 31.12.2010 (2 Years) to C5 (Currently Loading)
    Please advise the best approach to be followed and why
    Thanks

    If you already have the cube C5 being loaded and the reports are based on this cube, then if you donot want to create additional reports, you can go ahead and load the history data into this cube C5.
    What is your sourcesystem and datasource?. Are there selection conditions (in your infopackage) available to specify the selections? If so, you can go ahead and do full loads to the current cube.
    For query performance, you can create aggregates on this cube based on the fiscal period / month / year ( whichever infoobject is used in the reports)
    If your reports are not based on timeperiod, then multicube query will work as parrallelized sub queries and so there will be 4 dialog processes occupied on your BW system everytime the query is hit.
    Also any changes that you want to make in cube will have to be copied to all cubes, so maintenance may be a question.
    If there are enough justification, then approach 2 can be taken up

  • How tp Deactivate Process Chain

    Hi Experts,
    How to Deactivate Process chain.
    I have an IP in the PC which need to executed manually, but if i do that the processes which are preceeding IP in the chain are all getting triggered.
    so before i start executing IP, i need to deactivate the PC.
    Please throw some light how can i achieve it.
    Thanks
    Sanjay

    Hello Simran,
    even If i remove from schedule, once the IP triggers and after the load is success,i doubt  those processes will get triggers.
    are you sure that it will not triggers the following processes.
    Thanks
    Sanjay

  • How to achieve New Window requirement from One Web Template?

    Hi Experts,
    I've a WebTemplate contains 2 Graphs. Each graph have one Zoom Button. My requirement is, When I click the Zoom button that corresponding Grpah should display in a New Window. I've finished all the above requirements.
    Since, I have One Mandatory field, I'm always getting the Variable Screen in a New Window while I clik the Zoom Button.
    I need to avoid this "Rerun" feature in New Window.
    Kindly suggest me how to achieve this..
    Full points will be given.
    Thanks
    Jay Jay

    Hi Thanks.
    Even I'm also trying for the same scenario only.
    Actually I have 2 Web Templates.
    In First Template I have 2 Charts and 2 Zoom buttons for each.
    While I running the 1 Template, i give an Value in the  Variable screen of First Web Template.
    If I click a Zoom button of 1st Chart, It should open a New window with the Second Web Template. And Second Web Template should automatically take a First Template's Variable screen Values.
    (Since, U have an Mandatory field in Second Template u were not faced this requirment.)
    Even I tried with "TRANSFER_STATE". It is not taking the First Variable Screen's input values.
    Kindly help me in this issue.
    Thanks in advance.

  • I want to implement facebook kind of Likes rating, how to achieve that?

    Hi,
    I want to implement facebook kind of Likes for resources in my document library, how to achieve that and how to display the count in my custom webpart in my home page?
    Thanks
    Jessica

    Hi Jessica,
    You can find those option under Rating Settings under Library settings, you can select whether you need to give star rating or Like/Unlike fashion.
    Thanks, Shakir | Please 'propose as answer' if it helped you, also 'vote helpful' if you like this reply.

  • Search criteria is not working in Responsible Group field in sap crm could you please help me this how to achieve.

    search criteria is not working in Responsible Group field in sap crm could you please help me this how to achieve.I have writen code on EH_ONSEARCH .as per below...what changess i need to do..and through partner function and adding the selection params please send the sample .
    code. partner funtction - ZRG DATA :
    DATA : lv_partner_fct type .
    types: begin of ty_resp,
           partner    type but000-partner,
           name_last  type but000-name_last,
           name_first type but000-name_first,
           mc_name1   type but000-mc_name1,
           mc_name2   type but000-mc_name2,
           end of ty_resp.
    DATA: lv_resp_bp type STANDARD TABLE OF ty_resp INITIAL SIZE 0,
           lw_resp_bp type ty_resp.
    IF lv_attr_name = 'Rgroup'.
    lr_entity->get_property_as_value( EXPORTING iv_attr_name = if_crm_srqm_uiu_const=>gc_attr_low
                                       IMPORTING ev_result = lv_low ).
    IF lv_low IS INITIAL.
    SELECT partner
           name_last
           name_first
           mc_name1
          mc_name2
    FROM but000 INTO table lv_resp_bp
    WHERE mc_name2 = lv_low and bu_group = '0010'.
    loop at lv_resp_bp into lw_resp_bp.
        lv_low = lw_resp_bp-mc_name2.
      lr_query_service2->add_selection_param( iv_attr_name = 'Rgroup'
                                                iv_sign = lv_sign
                                                iv_option = lv_option
                                                iv_low = lv_low
                                                iv_high = lv_high ).
      ENDLOOP.
    if lv_partner_fct = 'ZRG'.
      lr_entity = lr_iterator->get_next( ).
    CONTINUE.
    ENDIF.
    lv_attr_name = 'BU_PARTNER'.
    ENDIF.

    <b>You can acheive   this .... first by creating the search help exit    ... by  creating the maintaince  view   then   using it in the   Creation of the search help </b> ...
    see the link for attaching the view   to the serach help .
    <a href="http://">http://www.sapdevelopment.co.uk/dictionary/shelp/shelp_elementary.htm</a>
    reward  points if it is usefull...
    Girish

Maybe you are looking for