Ad Hoc Workflow Routing

Has anyone developed an Ad Hoc workflow in Content Services using BPEL?
I am doing this using the User Request action to initiate the workflow. I'm also using the Ad Hoc design pattern in BPEL. This works well.
My problem is, I am not sure how to specify the person who should be the first assignee. Is there a way to use an optional attribute or something that would be a username?

Looking in to the source code a bit deeper - it turns out that there is (currently) an undocumented way to dynamically add a responder to a request item.
You can send an escelation message (IFS_ECM_ESCALATION_RESPONSE) back on IFS_BPEL_IN with a username supplied in the (IFS_ECM_WORKFLOW_RESPONDER) parameter - which will get added to the request if not already present.
The user thus can see full details of the request item. What I have not fully tested yet is whether the user has read access to any saved definitions found in the REQUEST_DEFINITIONS section when dealing with FdkConstants.CREATE_DOCUMENT_REQUEST_TYPE request types.
Anyway, the following code is from the BPEL processes that I'll be soon releasing after running Oracle BPEL's schemac tool on CONTENT_IFSQUEUEMESSAGE.xsd to generate Java helper classes ...
import com.oracle.xmlns.xdb.CONTENT.IFSQUEUEMESSAGE;
import com.oracle.xmlns.xdb.CONTENT.IFSQUEUEMESSAGEFactory;
import com.oracle.xmlns.xdb.CONTENT.IFSQUEUEMESSAGEPARAMETER;
import com.oracle.xmlns.xdb.CONTENT.IFSQUEUEMESSAGEPARAMETERFactory;
import com.oracle.xmlns.xdb.CONTENT.PARAMETERS;
import com.oracle.xmlns.xdb.CONTENT.PARAMETERSFactory;
import com.oracle.xmlns.xdb.CONTENT.IIFSQUEUEMESSAGE;
import com.oracle.xmlns.xdb.CONTENT.IIFSQUEUEMESSAGEPARAMETER;
import com.oracle.xmlns.xdb.CONTENT.IPARAMETERS;
  public static final String WF_MESSAGETYPE_ESCALATION =
    "IFS_ECM_ESCALATION_RESPONSE";
  public static final String WF_PARAM_PROCESSID =
    "IFS_ECM_WORKFLOW_PROCESSID";
  public static final String WF_PARAM_RESPONDER =
    "IFS_ECM_WORKFLOW_RESPONDER";
  // returning this message allows addition of new responder on the REQUEST item
  public static IFSQUEUEMESSAGE getWorkflowEscalationMessage(
    long processid, String user
    throws Exception
    IFSQUEUEMESSAGE msg = IFSQUEUEMESSAGEFactory.createFacade();
    msg.setMESSAGETYPE(WF_MESSAGETYPE_ESCALATION);
    PARAMETERS parameters = PARAMETERSFactory.createFacade();
    IFSQUEUEMESSAGEPARAMETER param1 =
      IFSQUEUEMESSAGEPARAMETERFactory.createFacade();
    param1.setNAME(WF_PARAM_PROCESSID);
    param1.setVALUE(String.valueOf(processid));
    param1.setDATATYPE("STRING");
    parameters.addPARAMETERLIST_ITEM(param1);
    IFSQUEUEMESSAGEPARAMETER param2 =
      IFSQUEUEMESSAGEPARAMETERFactory.createFacade();
    param2.setNAME(WF_PARAM_RESPONDER);
    param2.setVALUE(user);
    param2.setDATATYPE("STRING");
    parameters.addPARAMETERLIST_ITEM(param2);
    msg.setPARAMETERLIST(parameters);
    return msg;
  }If you want to test from PL/SQL, you can do so with something like the following :-
/* Enqueue to IFS_BPEL_IN: */
DECLARE
   enqueue_options     dbms_aq.enqueue_options_t;
   message_properties  dbms_aq.message_properties_t;
   message_handle      RAW(16);
   -- recipients          DBMS_AQ.aq$_recipient_list_t;
   queueMsg            IFSQUEUEMESSAGE;
BEGIN
--  -- Indicates that a Workflow is successfully completed.
--  IFSQUEUEMESSAGE.initialize('IFS_ECM_WORKFLOW_MSG_COMPLETE',queueMsg);
--  queueMsg.AddParameterToList('IFS_ECM_WORKFLOW_PROCESSID','48944','STRING');
--  -- Response - True if request is approved, False otherwise
--  queueMsg.AddParameterToList('IFS_ECM_WORKFLOW_RESPONSE','TRUE','STRING');
--  -- Indicates that a time out has occurred in the Workflow 
--  IFSQUEUEMESSAGE.initialize('IFS_ECM_WORKFLOW_MSG_EXPIRED',queueMsg);
--  queueMsg.AddParameterToList('IFS_ECM_WORKFLOW_PROCESSID','48944','STRING');
--  -- Indicates that a responder has not responded to the request in the specified time limit.
--  IFSQUEUEMESSAGE.initialize('IFS_ECM_ESCALATION_RESPONSE',queueMsg);
--  queueMsg.AddParameterToList('IFS_ECM_WORKFLOW_PROCESSID','48944','STRING');
--  queueMsg.AddParameterToList('IFS_ECM_WORKFLOW_RESPONDER','RICH','STRING');
  dbms_aq.enqueue(queue_name      => 'IFS_BPEL_IN',          
                  enqueue_options => enqueue_options,      
                  message_properties   => message_properties,    
                  payload              => queueMsg,              
                  msgid                => message_handle);
   COMMIT;
END;
/In terms of dates, I expect in the new few weeks. By the way, these workflows are built based on the Content DB development kit. Though you should be able to manually backport these in to the old Content Services workflow framework if you wanted.
cheers
Matt.

Similar Messages

  • Can we create an Ad Hoc workflow from a GP task listed in UWL?

    Dear All,
    Can we create an Ad Hoc Work flow from tasks which are generated using Guided procedures? If UWL does not provide this information can we some how implement the concept of Ad Hoc work flow from each step? The advantage is that when a person gets a task in his plate, he can create an Ad Hoc Workflow to take care of the request within their respective department for reviews and sub reviews.
    Thank You,
    Mansoor.

    Hi Mansoor,
    In sub task, even itu2019s linked with main task you donu2019t have a link or any UI to interact with main process. For this reason, itu2019s not possible.
    There are standard process roles like Overseer or Owner and custom roles, that is who will interact with each action/block. Assuming you have a manager and a team that will interact with a step in your process, you may define the manager as Overseer and the team group as processor of this step. In this case, you donu2019t have a specific forward feature, but you will treat that defining a group as processor and everyone inside this group may complete the task. The manager, as overseer, can track the process without need "hands on" with that.
    Best Regards,
    Pedro Nunes

  • Ad-Hoc Workflow

    Hi friends,
    What is ad-hoc work-flow in ccBPM.

    Hi,
    Ad-hoc workflow:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/56fe9390-0201-0010-1e9a-945bd95af8b0
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/9f9138d380f50fe10000009b38f8cf/frameset.htm
    Regards,
    Subhasha

  • Ad Hoc Workflow  with SAP EP6

    Hi,
    I have to configure Ad Hoc workflow with EP6. How can I configure it? Any document will help me.
    Is Universal Worklist cofiguration is also required for Ad Hoc Workflow?
    Regards,
    Manish

    try this link
    http://help.sap.com/saphelp_nw04/helpdata/en/8f/fb5464e3382f4482833a28af8896a3/frameset.htm
    Click on Administration guide, basic configuration, this will start to walk you though the configuration of collaboration.  Ad hoc work flow is a part of the Universal Worklist.  The Universal Worklist is the aggregation of your R3 workflow tasks plus your Ad Hoc workflow tasks.

  • Urgent ! AD hoc task routing.

    In our bussiness senario a human task need to use ad hoc workflow.
    Recipient number and recipients id identified as hoc.
    Assigned recipient decide next step assignee names..
    This continue until task complete.
    is it suitable to use Oracle BPEL for this reason?
    is there any one use this seneraio. How ?
    Can we do it declaratively using bpel using bpel diagram or we can use code inside JSP pages.?
    Thanks.

    repost

  • How to delete ad hoc workflow tasks in UWL centrally?

    Hi,
    While we were testing UWL function of Enterprise Portal in Netweaver 7.0, number of users created ad hoc workflow tasks in UWL.  We have recently decided to use Universal Worklist for Inbox-based workflow only (WebFlowConnector) and not to use it for ad hoc workflow (AdHocWorkflowConnector).
    Instead of asking all users to go in to UWL and delete all their ad hoc workflow tasks, I (as a System Administrator) like to delete all ad hoc workflow tasks myself, centrally.  Is this possible?  Does anyone know how to delete all ad hoc workflow tasks centrally?
    Thank you.
    Joon,

    Hi Joon,
    I think it will be really difficult to achieve what you want as each task is related to a particular user.
    I am not sure @ a Sysadmin can accessing other users' tasks.
    You can try looking for some way by using UWL apis.
    I think you can get all your user's adhoc tasks in an ItemCollection object by using append method of Itemcollection Interface and then see that deleting this object may achieve give u desired reults.
    Also try having a look at the IUWLItemManager interface.
    You will find these interfaces in com.sap.netweaver.bc.uwl
    See [here|https://help.sap.com/javadocs/NW04S/current/uw/index.html]
    I hope it helps.
    Regards,
    Sumit

  • Can LiveCycle Workflow route to machines instead of users?

    Hi, can livecycle route documents in its workflow to specific machines in an intranet instead of specific people/users? I have a shared machine that could have any number of users. I don't know who will be logged in. I only know that whoever is assigned to that location can view the documents.
    I do not want to route them to a person, a group, etc., just a computer.
    Can it be done?
    Thank you for any help.

    You can restrict the Person or group field value be selected from a particular SharePoint group. And you can add the 37 persons to that SharePoint group. 
    This setting is part of the field settings. "Choose From"
    And for checking whether a user belongs to a particular group, you can use object model to find or webservice or CSOM depending on which interface you're building(Infopath/webpart/etc.,)
    Below is a sample:
    http://stackoverflow.com/questions/1380277/sharepoint-find-out-if-current-user-belongs-to-specified-group 

  • Financial Workflow Routing

    Hi All,
    I am able to create a workflow using object type FIPP when I park an FI document (journal entry using FV50/FB50). The workflow workitem is routed to the approver specified in OBWF according to organization assignment. However, I would like to have te workitem routed to a user based on information entered in the FI document. For example, for company code 1000 and G/L account 123000, I would like to send it to user A. For company code 2000 and G/L account 124000, I would like to send it to user B. I can set up a custom table to route it to the correct approver.
    But, can someone throw some light on where this routing needs to happen? Is there an enhancement point or a user-exit that gives me the option to intervene and change routing instead of following what's in OBWF? Please advise at the earliest.

    You can have a workflow triggered by the FIPP.POSTED event. In the workflow header you can specify the event in the Start events. Then you can create a task in workflow template for user decision or Park document review based on requirement. The agent rule based on function module can be created using PFAC wherien you can pass the FIPP object in agent rule container. In side the rule you can define a custom function module which will return agents based on attribtes of FIPP Object.

  • Workflow routing to 3 people

    when there are 3 people assigned to an responsibility rule it is routing to 3 persons . in the log its showing workitem is with 3 users how can it be rectified

    Hi,
    In your first post what you have mentioned is correct. That is the standard behavior of rule/workflow.
    But while coming to second case, i would advice you to check the workflow log again and see if any of the agents forwarded it to some other user and was it sent back to the particular user determined by the rule?
    Even if someone forwards the workitem, the workitem will disappear from all other agents inbox.
    Or see, if he has started the execution of the workitem. In that case, that workitem would be reserved by that agent and will show only that agent name in log.
    Regards,
    Raj

  • How to set MBair to acting like ad-hoc wifi router ...

    Hi all X'
    I wanna to participate a ipodtouch4 to the cable internet at the MBair.
    The internet at the MBair is with a cable but with NO ROUTER.
    HOW CAN I MAKE THE MBAIR TO ACT AS A 'ROUTER'?
    DHCP seems not the way it is.

    Comcast certainly can and does put the SMC modem into bridging mode for customers.
     From an older thread....
       "The request to put the router in bridge mode takes Comcast about 3 seconds to do. The correct number to call to have it done is 800-363-2416 and ask anyone who answers to do this."

  • Workflow Routing

    Hi everyone! We are running 46C and I have setup an org unit with positions and usernames assigned to positions. However, my workflow will not send to all users in the org unit... I have set it up as a general task and the agent assignment in the workflow step as org unit. How can I get my workflow item to appear in all the inboxes of the users in that org unit? Thank you very much! Hoping for your replies. 

    On what basis you have to select the First records ?
    If there are 5 Agents assigned to one position then according to your requirement "select the first one and send the workitem to that user?" Correct me if I am wrong.
    Get all the agents into multiline container element and then create one background task in workflow and call custom method and get the first records from the multiline container element.
    Regards
    Aman

  • Invoking Web service from iProc Workflow Notification,OAF Changes?

    I have a Requirement to Digitally sign the Requisition before the requisition is finally approved. We have a role in iProcurement, 'Certifying Official' , who would be the final approver. When the 'Certifying Official' receives the notification and clicks the 'Approve' button , we make a call to a web service to get the Digital signature and display a new page with the Requisition information back to the user. The user can choose to either save or cancel the Signature , if they save the signature we will display a confirmation page and comeback to the workflow process .
    I was wondering what a better approach would be
    1) Cusomize the OA Framework (Extend the controller) notification page and call the web service to digitally sign the Requisition and forward the user to a new page. Based on the user selection, I will have to re-direct to the new page or comeback and execute the workflow.
    2) Customize Oracle workflow. If choose the workflow route, I was wondering If i would be able to display new pages based on the user action.
    3) Have a link on the Notification page.
    Thanks

    You can use either of these two options. Even with using option 2 you have to extend the controller to fetch the nextPage from the workflow using appropriate API's. So better use the first option by extending the controller, call the webservice and forward to the required page.

  • Substituting WF-BATCH user in PO creation Workflow

    Experts,
    Looking for a bit of guidance on an issue that has been hanging around a while, and no one seems to be able to assist.
    Here is the scenario: Purchasing P Req's are created, and workflow routes them to the appropriate releaser(s) for approval. The approver releases the P Req to be converted to a PO. This is where things start going wrong. We are looking to output the PO in an email (PDF) format to SCOT. This in itself isn't a problem, except that the workflow user WF-BATCH also creates emails for IS-U customers in a RAW format with the text in the body of the email. Including a PDF format within the node then converts the IS-U emails to PDF, which is out of the question. We have tried every(?) conceivable option within the INT node to accommodate both options within the same node.
    Trying a different approach I have created another node under INT called 'SMTP', with the thought of routing the PO outputs to this using a user substitution in the workflow in association with OSS Note 311633, which effectively points the users output to the appropriate node via a PID.
    I guess the 2 questions I have are:
    1. Have I missed anything in the standard SCOT setup that could be utilised, and;
    2. If the answer to 1 is 'No', whether my proposed 'solution' is achievable.
    Many thanks in advance,
    Paul...
    Message was edited by: Paul Brown

    Hi Sudhir,
    the release is done with the BAPI function
    BAPI_REQUISITION_RELEASE_GEN
    Some of these BAPI's do offer an import element, saying "USER", where you can overwrite the current user with another one's ID, to avoid having the background user as the last change of the object.
    In this case, this option is not available, so to say, there's nothing that can be fixed.
    The solution to set and overwrite the release step with another user id, is exactly to change the change documents. So you've already found what you were looking for.
    Best wishes,
    Florin

  • OTL - Table Relationship between Timecard and Workflow

    Hi All,
    Our employees work multiple projects and charge their time thru OTL to each of individual project as appropriate every pay period. Each project has it's own project manager. When an employee sumbits his timecard for approval the workflow routes an approval notification to EACH project manager. Every project manager must approve the employee's timecard before the "overall" timecard status is APPROVED.
    For example, an employee works on four diffent projects - each project has a different PM. When the employee submits his timecard for approval an approval notification is sent to all four PMs. However, more than occasionally at least one of the PMs doesn't approve the timecard in a timely fashion so the employee's timecard is "hung up" waiting for approval.
    I need to write a query in which I specifiy both an employee and particular pay period, and the query returns for the employee/pay peirod EACH Project Name, the PM for the respective project, and whether or not the the PM has approved the employee's time for the respective PM's project in the specified pay period.
    Unfortunately I don't really know where to start. I don't know if there is an HXC or group of HXC tables that would allow me to report on the individual project manager's 'status' (i.e., has a PM approved his project in the employee's timecard)...or do I need to allow include some workflow tables such as (maybe ?) wf_notifications ? And if I need to include some WF tables can someone help me understand where the relationship between timecard and WF is definded/stored (in other words, for a particular timecard how can I query a WF table - for example, wf_notifications - and find all the respective notifications associated with that particular timecard ?
    I hope my question is clear, but please advise if you have any questions. Thanks in advance for the help !!
    Jeff

    Hi Jeff,
    Did you ever get an answer on this question, as I have similar issues.
    One question you may be able to answer - Do all approvals on the project side need to be done for ANY project information to pull into Project Accounting, or as each Project Manager approves their portion does it pull in to PA?
    Thanks very much!!
    Lori

  • PO Approval workflow change

    Hi,
    i`m new to EBS. Please tell me the steps for following changes in the PO Approval workflow
    1.Any new PO that gets processed / approved in the system needs to auto run the PO Print program (to generate the PDF copy of the PO) with the email function switched on.
    2.PO Print program needs to be modified to auto email docuclass ([email protected]) always ( even if email option is switched off) and email both buyer and PM ( if email option is on). Email subject should contain PO# and revision#.
    Thanks,

    Hi,
    We are using an extended classic workflow . The workflow which has been customized to have 8 step of approvers at the max.
    The agents are being identified based on the cost center assignment, for which the approvers have been maintained in a seperate HRMS system.( The cost center is linked to an org unit in HRMS where we derive the approvers).
    There are some approvers that come into play depending on special criterias like EB attribute of the user.
    Now the problem comes where there is an ad-hoc approval workflow also added to it which enables the user to add approvers manually but there is some problem in the agent transfer there. The step identified by the systm during runtime is not defined in the ad - hoc workflow also and hence the step shows no agent and it returns to the user who added the approver.
    Kindly help as to what is the reason for the same and what can be done to rectify this.
    With Regards,
    Rajesh

Maybe you are looking for

  • Report on changes in CoGS

    Hi, We need a report on changes in COGS of a material. Any pointers? Thanks in advance. Pinkey

  • HP G56 System Recovery Problem after removing disk 4 black screen

    hi everyone this is my first time, im helping my nextdoor neighbours laptop hp g56, the hard drive has been fried and i have intalled my old playstation 3 40 gb hard drive into it. after the recovery system finished and told me to remove disk 4 it re

  • Need Advice about PPL Usage

    LV 2013, LVRT 2013 (PXI), Win 7 I'm an old hand at LabVIEW, but I'm new to using Project Libraries (.lvlib) and Packed Project Libraries (.lvlibp). I'm hoping someone with more experience can offer some insight and guidance. At first blush, it looks

  • How to understand these terms in SD?

    Hi all, I have encounted some terms when I tried to understand SD module. Please can some explain these terms in SD as following, 1. Sold-to party 2. Ship-to party 3. Bill-to party I tried to create the a sales order, i hadn't found where we can defi

  • Multiple Records to RFC !

    Hi, Our scenario --> JBDC -- XI -- RFC. 1) Here Sender JDBC Selects the multiple records from the Oracle DB. 2) These bunch of records are sent to the RFC for processing and reponse messages are expected. 3) But while in production  due to huge amoun