ItemType and ItemKey

Hi! I'm working on a custom workflow that sends notification to a user.
I used an Attribute with "Document" as its Data Type. Then I referenced a PL/SQL Package that has an HTML code within it.
Example( PLSQL:<PKG>.<PROC>/&TRX_NO_DUMMY )
The Procedure has the following parameters:
PROCEDURE WF_GENERATE_HTML_NOTIF
        document_id   IN     VARCHAR2,
        display_type  IN     VARCHAR2,
        document      IN OUT VARCHAR2,
        document_type IN OUT VARCHAR2
I'm testing my Workflow using Developer Studio.
Sometimes it generates a Notification, sometimes it raises an error:
ORA-20002: 3240: Error '-20002 - ORA-20002: 3103: Attribute 'TRX_NO' does not exist for item 'XXEUVS/XXEUVS9862'. ' in 'PLSQL' API 'XXTIP_EUVS.WF_GENERATE_HTML_NOTIF' ORA-06512: at "APPS.WF_NOTIFICATION", line 5838 ORA-06512: at line 6
TRX_NO exists in the attributes, but the ItemKey is wrong, that's why it can't find the value of TRX_NO Attribute.
Sometimes when I hardcode the ItemKey it works, sometimes it generates an error like this:
ORA-20002: 3240: Error '-6502 - ORA-06502: PL/SQL: numeric or value error: character string buffer too small ' in 'PLSQL' API 'XXTIP_EUVS.WF_GENERATE_HTML_NOTIF' ORA-06512: at "APPS.WF_NOTIFICATION", line 5838 ORA-06512: at line 6
I can't really trace the error since it does not show where or which line in the package creates the error. (sidenote: any tips on that?)
I've concluded that it's because the PROCEDURE needs an ItemType and ItemKey from the calling workflow itself
Is my conclusion correct?
I've read something about a SET_CTX command that gets the ItemKey of a Calling Workflow, but i can't really understand much of the details.
I also can't find any useful samples about it.
*please note that i'm basing my program from a working W/F that generates a correct notification, but that already has a Form that sets attributes, I'm still in the process of creating the workflow package .*
Any Ideas?
Thanks!

Robert,
The class which you write extends WFFunctionAPI. This class has the following protected member variables which are accessbile within your class:
protected String itemType;
protected String itemKey;
protected BigDecimal actID;
protected String funcMode;
protected String resultOut;
Note that the item attributes are not populated in the java context for performance reasons. You can use the method "loadItemAttributes"
Cheers,
Raja

Similar Messages

  • Troubleshooting Workflow.

    Hi,
    Can any one please point me the steps for trouble shooting the application using Interconnect and Workflow.
    How can I find out where in my application things are getting stuck.
    thanks
    Rahul

    Do you have a specific scenario that needs to be troubleshot? I am not sure if there are any specific guide with respect to your request.
    For Oracle Workflow typical troubleshooting techniques are...
    1. Use $ORACLE_HOME/wf/admin/sql/wfstat.sql to get the status of a given workflow instance providing the itemtype and itemkey.
    2. Use the workflow status monitor diagram from workflow home page. This gives the complete list of activities executed and their statuses/results.
    3. There are other bunch of scripts such as wfdirchk.sql to verify the Workflow Directory Services.
    Hope this helps.

  • Workflow troubleshooting

    Hi,
    Can anyone please tell me how to troubleshoot the workflow problems? As of now, the brief details that I have about the problems is that
    1) The workflows trigger sometimes & they don't, the other times.
    2) The workflows hang.
    3) Have other common workflow problems.
    There are other problems related to the same workflows but the above 2 form the top priority as of now. Can anyone help with that.
    Also in SDN, I searched for videos but only found 1 so far in the blogs. Can anyone give me a link where I can go through some Workflow videos?
    Thank you & look forward for your response.
    Edited by: Sap Help on Jun 14, 2008 6:45 PM

    Do you have a specific scenario that needs to be troubleshot? I am not sure if there are any specific guide with respect to your request.
    For Oracle Workflow typical troubleshooting techniques are...
    1. Use $ORACLE_HOME/wf/admin/sql/wfstat.sql to get the status of a given workflow instance providing the itemtype and itemkey.
    2. Use the workflow status monitor diagram from workflow home page. This gives the complete list of activities executed and their statuses/results.
    3. There are other bunch of scripts such as wfdirchk.sql to verify the Workflow Directory Services.
    Hope this helps.

  • Using wf_engine.abortProcess to abort subprocesses

    According to the WF api documentation you can abort a wf process AND its subprocesses using wf_engine.abortprocess. But i don't understand what value to put into the process-parameter to make it abort the subprocesses. Documentation says to use "label" or "parent_process_internal_name:label_name". But what is that?
    Example: aborting process (main): item_key abc, item_type: TEST
    subprocess is:
    item_type: WFERROR,
    item_key; WF28888;
    ROOT_ACTIVITY:DEFAULT_ERROR,
    ROOT_ACTIVITY_VERSION: 9,
    PARENT_ITEM_TYPE: TEST
    PARENT__ITEM_KEY: abc
    PARENT_CONTEXT: 123456
    which value should go into the process-parameter?
    thanks,
    tone

    But just passing the item_type and item_key should take care of aborting that process corresponding to the itemtype and itemkey.

  • Using itemtype img tag and meta tag with {tag_largeimage}

    Hi everyone
    Just getting into using Social Media meta Tags for my online store using bc
    Schema.org markup for Google+
    Twitter Card data
    Open Graph data
    and I used this site for reference Must-Have Social Meta Tags for Twitter, Google+, Facebook and More - Moz
    Ive added this to my large product page and now ive entered the world of Schema.org markup and itemtype and im having trouble with images.
    for my large product page ive turned the meta tags from this...
    <meta itemprop="image" content="http://www.example.com/image.jpg">
    <meta name="twitter:image" content="http://www.example.com/image.html">
    <meta property="og:image" content="http://example.com/image.jpg" />
    to this
    <meta itemprop="image" content="{tag_largeimage}">
    <meta name="twitter:image" content="{tag_largeimage}">
    <meta property="og:image" content="{tag_largeimage}" />
    but the page doesnt like it and the page reads with 3 /> /> /> at the top of my html page for anyone to see meaning that bc doesnt like the code.
    also doesnt like it when i use
    <img itemprop="image" {tag_largeimage}" />
    turns into this
    <img alt="" itemprop="image" />
    Image is the only one im having a problem with so far any ideas if I can do anything about it. I dont want to have to manually add a http to every product.
    thanks
    Dave

    the meta tags work now.
    the only one i still cant get to work is the
    <img itemprop="image" {tag_largeimage}" />
    when I change it to _path the html editor saves it as
    <img alt="" itemprop="image_path" />
    so will have to leave that for now put I can still use alot of the itemprop tags to promote the page better than before.
    thanks for the help

  • Not able to get ItemKey value on OAF page.

    Hi OAF Gurus,
    I build a OAF transaction based on Workflow where I am using below code , but getting NULL values for itemKey
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OADBTransaction oadbtransaction = am.getOADBTransaction();
    SSHRParams sshrparams = new SSHRParams(oadbtransaction);
    // gives null String itemKey = sshrparams.getItemKey();
    // gives null String itemKey = OANavigation.getItemKey(pageContext);
    // gives null String itemKey = WFUtility.getItemKey(pageContext);
    // gives null String itemKey = ((StringBuffer)oadbTxn.findObject("wfItemKey")).toString();
    // gives null String itemKey = oaNavigation.getItemKey(pageContext);
    BIG QUESTION : How to get the itemKey???????????
    Other approaches : I extended my custom AM to oracle's AM (thinking that may be new SSHRParams(oadbtransaction), might work with oracle's transaction), but no luck
    Facts
    1. Workflow has started and this page has been invoked from workflow using BLOCK function.
    2. If I hard code the itemKey and itemType, I can calculate the activity id correctly using String activityId = new String(""+WFUtility.getActivityId(am, itemType, itemKey));
    3. I need the itemKey to abe able to navigate to NEXT or PREVIOUS page in the workflow example : WFUtility.wfTransitionActivity(pageContext, itemType, itemKey,activityId, "NEXT"); when next button is clicked
    Please help me out in this.
    Thanks,
    Chaitanya

    I am posting what approach worked for me.
    Step 1: Create a Page called InitContextPG.xml , set a controller InitContextCO.java
    Step2: In InitContextPG.xml set Application module as oracle.apps.per.selfservice.common.server.CommonAM
    Step 3: Edit InitContextCO.java
    import oracle.apps.per.selfservice.common.SSHRParams;
    import oracle.apps.per.selfservice.payrate.PayRateParams;
    import oracle.apps.per.selfservice.workflowservice.server.WFUtility;
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    /* Logging Code*/
    if(pageContext.isLoggingEnabled(OAFwkConstants.PROCEDURE))
    {pageContext.writeDiagnostics(this," processRequest().START ",OAFwkConstants.PROCEDURE);}
    super.processRequest(pageContext, webBean);
    //.........................................SETTING PAY_RATE_PARAMS.................................................................
    //oadbTxn.getValueNames();
    Hashtable PAY_RATE_PARAMS = (Hashtable)oadbTxn.findObject(PayRateParams.m_name);
    if(PAY_RATE_PARAMS==null){PAY_RATE_PARAMS= new Hashtable();}
    pageContext.putSessionValueRaw(PayRateParams.m_name,PAY_RATE_PARAMS);
    writeLog(pageContext,PayRateParams.m_name+"="+PAY_RATE_PARAMS);
    //.........................................SETTING SSHR_PARAMS.................................................................
    Hashtable SSHR_PARAMS = (Hashtable)oadbTxn.findObject(SSHRParams.m_name);
    if(SSHR_PARAMS==null){SSHR_PARAMS= new Hashtable();}
    pageContext.putSessionValueRaw(SSHRParams.m_name,SSHR_PARAMS);
    writeLog(pageContext,SSHRParams.m_name+"="+SSHR_PARAMS);
    //.........................................SETTING WORKFLOW ACTIVITY.................................................................
    SSHRParams sshrparams = new SSHRParams(pageContext.getRootApplicationModule().getOADBTransaction());
    String itemKey =sshrparams.getItemKey();
    String itemType = sshrparams.getItemType();
    String activityId = sshrparams.getActivityId();
    WFUtility.wfTransitionActivity(pageContext, itemType, itemKey,activityId, "DEFAULT");
    /* Logging Code*/
    if(pageContext.isLoggingEnabled(OAFwkConstants.PROCEDURE))
    {pageContext.writeDiagnostics(this,"processRequest().END",OAFwkConstants.PROCEDURE);}
    Step4 : Create a FND Function Y_HR_INIT_CONTEXT_SS having html call to InitContextPG.xml
    Step 5 : In the Workflow create a Function, called Init Context
    set : Function Name : HR_WORKFLOW_SERVICE.BLOCK
    set : Function Type : PLSQL
    set : Result Type : HR MEE Transacitons V4.0
    Node Attribute : HR Activity Type : JSP
    Node Attribute : HR Activity Type Value : Y_HR_INIT_CONTEXT_SS
    Step 6: So Workflow should look like
    START-----<default>---------> Init Context -----------<default>-------> MY_PAGE (which needs WF parameters)
    Step 7. Now you have MY_PAGE.xml where you need the ItemKey and ActivityID etc., create a controller MY_PAGE_CO.java
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    /* Register the ORACLE HRMS Objects before super.processRequest*/
    this.registerObject(pageContext,SSHRParams.m_name);
    this.registerObject(pageContext,PayRateParams.m_name);
    super.processRequest(pageContext, webBean);
    SSHRParams sshrparams = new SSHRParams(oadbTxn);
    String itemKey =sshrparams.getItemKey();
    String itemType = sshrparams.getItemType();
    String activityId = sshrparams.getActivityId();
    // You Finally have the values of itemKey ,itemType and activityId
    OAApplicationModule am = pageContext.getRootApplicationModule();
    OADBTransaction oadbTxn = am.getOADBTransaction();
    * Registers an object from session to transaction.
    public void registerObject(OAPageContext pageContext,String ObjectName)
    Object objectValue = (Object)pageContext.getSessionValueRaw(ObjectName);
    this.writeLog(pageContext,ObjectName+"="+objectValue);
    OAApplicationModule am = pageContext.getRootApplicationModule();
    OADBTransaction oadbTxn = am.getOADBTransaction();
    /* Check if the Object is registered already, else register it*/
    if(oadbTxn.findObject(ObjectName) == null && objectValue!=null)
    oadbTxn.registerObject(ObjectName,objectValue);
    Edited by: Chaitanya Dubey on Feb 3, 2011 1:45 PM
    Edited by: Chaitanya Dubey on Feb 3, 2011 1:54 PM
    Edited by: Chaitanya Dubey on Feb 3, 2011 1:54 PM

  • I want to send notifications to outside(i,e mail box) from oracle, and users will approve the notification from email

    Hi
    I have a client required to send notifications to outside email box, and also user will approve this notification through email.(i,e not logged into oracle and approve it) in 11i instance.
    i need to send mail from po department to finance department
    once finance department approves , then mail back to po department that your notificaiton approved.
    from address:=[email protected]
    to address:=[email protected]
    as part of this we did IMAP set up
    and used the following code. and getting the notifications from Oracle to my mail box.
    my main issue is when user approves the wf notifications, it is not showing my specified email address in the attribute #WFM_REPLYTO, always it is showing the IMAP set up wfdev address
    what is the value i need to use for this #WFM_REPLYTO
    eventhough i am sending the to_address email id to the following attribute(wf_engine.setitemattrtext), the workflow approval not working for that email id.
    only if i am using the '[email protected]' in the imap set up, then only approval is working.
    how can i override this to_email address value([email protected]) to my desired email address?
    wf_engine.setitemattrtext (itemtype => l_item_type,
    itemkey => l_item_key,
    aname => '#WFM_REPLYTO', -- to_ address
    avalue => '[email protected]' -- [email protected]
    if any body having some sample code related to this please share on this.
    Thanks
    sam

    Sam,
    Can you find any errors in the Workflow log file?
    Please review the following docs.
    Setting Different Values For Attributes #WFM_FROM & #WFM_REPLYTO Does Not Happen Or Results In SAXParseException (Doc ID 1455191.1)
    How To Change The Default From and Reply To Email Address For Workflow Email Notifications (Doc ID 760477.1)
    Thanks,
    Hussein

  • Using CREATE PROCESS and START PROCESS in a JSP

    Hi,
    I have built a simple JSP page. I want to call my workflow program from this page.
    How should I use the CREATE PROCESS() AND START PROCESS() inside the JSP page?
    Also I want to get the value entered in the text field (which will be a hidden field) to be passed to the ITEM_ATTRIBUTE, which I have defined in my program. How can this be achieved?
    Please give me the syntax for this.
    Please find below the JSP page
    =========================================================
    <%@page import= "java.util.Date" %>
    <script language="javascript" src="ibeCButton.js"> </script>
    <html>
    <head>
    <title>First Page</title>
    </head>
    <body>
    <H3>Today is:
    <%= new java.util.Date() %>
    <INPUT TYPE="text" NAME="CART_ID">
    <INPUT TYPE="submit" onclick = >
    </H3>
    </body>
    </html>
    ==========================================================
    To use LAUNCHPROCESS in JSP, the following is the syntax.
    public static boolean launchProcess
    (WFContext wCtx,
    String itemType,
    String itemKey,
    String process,
    String userKey,
    String owner)
    Should WFContext have the connection information of the DB.
    If I pass only the WFContext and itemType attributes are they enough? Please let me know.
    Thanks

    There are two options.
    1. Good one.
    Include wf*.jar files in your system CLASSPATH. Use oracle.apps.fnd.wf.engine.WFEngineAPI class to access engine APIs. You would need to pass WFContext for which you need WFDB.
    You basically created WFDB with username, password and connect string. Pass it to WFContext and use it for all Workflow Engine APIs.
    2. OK one.
    You can get JDBC connection using the default mechanism that your custom Java and JSP code could be using. Call the PLSQL procedures WF_ENGINE.CreateProcess and WF_ENGINE.LaunchProcess over JDBC.
    Anyways option 1 makes life easier.

  • Parent/Child "itemkey"

    I have a parent/child relatonship between 2 tables. Both tables have dataless keys (both just populated by different sequence numbers starting at 1). I want to create Parent and Child processes (in the same workflow itemtype) to represent the records in the application tables.
    What should the "itemkey" be for the child process? (I can't have the same "itemkey" as the parent record).
    -- using the Oracle demo Survey workflow names:
    begin
    -- PK of parent record=1
    wf_engine.CreateProcess(ItemType => 'WFSURV',
                        ItemKey => to_char(1),
                        process => 'SURVEY2');
    -- PK of child record=1
    wf_engine.CreateProcess(ItemType => 'WFSURV',
                        ItemKey => to_char(1),
                        process => 'CHILDSURVEY');
    end;
    ORA-20002: 3122: Duplicate item 'WFSURV/1' could not be created.
    ORA-06512: at "OWF_MGR.WF_ENGINE", line 3000
    ORA-06512: at line 5
    Can I build up my child "itemkey" by having {PK of parentrec}||'-'||{PK of childrec} to ensure that it wont conflict with the "itemkey" for the parentprocess?
    e.g.
    begin
    wf_engine.CreateProcess(ItemType => 'WFSURV',
                        ItemKey => to_char(1),
                        process => 'SURVEY2');
    wf_engine.CreateProcess(ItemType => 'WFSURV',
                        ItemKey => to_char(1)||'-'||to_char(1),
                        process => 'CHILDSURVEY');
    end;
    I'd like to implement this as cleanly as possible. Any suggestions welcome.

    You could just prefix each item key with the process name or some other distinguishing string -
    'SURVEY2:' || {PK of parent table}
    'CHILDSURVEY:' || (PK of child table)
    or
    'P' || {PK of parent table}
    'C' || (PK of child table)

  • Getting and setting attributes

    Hi!!!
    I have to get attributes from the workflow process, i have a function, with some activity attributes, but i want to, instead of putting the internal names of the global attributes, put as an Item Attribute instead of Constant.
    When i try to read them as an item Atribute and after select the appropriate item, it dosen4t work, they are always empty, why????
    what i doing wrong???
    FUNCTION GET_STRINGS (Attr_Name in varchar2,
    Obrigatory in BOOLEAN := FALSE) return VARCHAR2
    is
    v_Value_String VARCHAR2(4000);
    NOT_NULL EXCEPTION;
    begin
    v_Value_String := wf_engine.GetActivityAttrText (itemtype=> g_ItemType,
                                            itemkey => g_ItemKey,
    actId => g_ActId,
    aname =>Attr_Name);
    IF Obrigatory AND v_Value_String IS NULL THEN
    RAISE NOT_NULL;
    END IF;
    RETURN v_Value_String;
    EXCEPTION
    WHEN NOT_NULL THEN
    WF_CORE.token('GET_STRINGS','ATTRIBUTE MUST BE FILLED - ' || Attr_Name);
    WHEN OTHERS THEN
    WF_CORE.token('GET_STRINGS','DON4T EXIST THE ATTRIBUTE ' || Attr_Name);
    end;

    If I understand you correctly, you want to point your activity attribute to an Item Attribute to get the value.
    To do this, you can look at the WF_STANDARD.ASSIGN pl/sql code for an example, basically, you do the following:
    aname := wf_engine.GetActivityAttrText(itemtype, itemkey, actid, 'ATTR');
    wf_engine.GetItemAttrInfo(itemtype, aname, atype, asubtype, aformat);
    if (atype = 'NUMBER') then
    wf_engine.SetItemAttrNumber
    elsif (atype = 'DATE') then
    etc etc
    Hi!!!
    I have to get attributes from the workflow process, i have a function, with some activity attributes, but i want to, instead of putting the internal names of the global attributes, put as an Item Attribute instead of Constant.
    When i try to read them as an item Atribute and after select the appropriate item, it dosen4t work, they are always empty, why????
    what i doing wrong???
    FUNCTION GET_STRINGS (Attr_Name in varchar2,
    Obrigatory in BOOLEAN := FALSE) return VARCHAR2
    is
    v_Value_String VARCHAR2(4000);
    NOT_NULL EXCEPTION;
    begin
    v_Value_String := wf_engine.GetActivityAttrText (itemtype=> g_ItemType,
                                            itemkey => g_ItemKey,
    actId => g_ActId,
    aname =>Attr_Name);
    IF Obrigatory AND v_Value_String IS NULL THEN
    RAISE NOT_NULL;
    END IF;
    RETURN v_Value_String;
    EXCEPTION
    WHEN NOT_NULL THEN
    WF_CORE.token('GET_STRINGS','ATTRIBUTE MUST BE FILLED - ' || Attr_Name);
    WHEN OTHERS THEN
    WF_CORE.token('GET_STRINGS','DON4T EXIST THE ATTRIBUTE ' || Attr_Name);
    end;

  • Help Please:  working with HTML BLOBS and workflow attachments

    simply put need to be able to:
    1. create html document using plsql and store as BLOB in a table.
    2. retrieve this BLOB and send as Document Attachment in workflow notification.
    This sounds so simple to be able to do and yet I've spent the past week trying to find easy to understand documentation on how to do this.
    The html i'm creating is too large for just the normal 32K (I believe) buffer for a regular (text) document attachment. If i limit the # of rows returned, I can use this method just fine. However, my assumption is that with the amount of data I need to return in the attachment is that the BLOB type is what i will need to be able to accomplish this.
    I would be more than happy to e-mail anyone samples of the workflow and code I am currently using to attempt this.
    Lastly, one of the main articles I've looked at is this:
    http://oracle.anilpassi.com/index2.php?option=com_content&do_pdf=1&id=22
    In my latest attempt, i picked an html file currently stored in fnd_lobs and tried to send the file as an attachment.
    wf_engine.setitemattrdocument ( itemtype => c_itemtype,
    itemkey => l_itemkey,
    aname => 'LOB_DOCUMENT',
    documentid =>'PLSQLBLOB:DANA_RLM_EXCEPTION_NOTIFY.xx_notif_attach_procedure/' || to_char(75871));
    I get the following error in Workflow when trying to open the attached document:
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    Any help would be greatly appreciated... would consider naming our next child after you. ;)

    I had done some work trying to see how Lotus Notes handles HTML content.. to my dismay, Lotus Notes does not even handle some of the basic HTML correctly.. leave alone the embedded OA Fwk content in the workflow e-mail notifications.
    This seems to be a bug in Lotus notes.. I don't have the link to the IBM site that talks abt the bug. Will post it once I have it.

  • Approve and reject button not appearing in the POrtal screen

    Hi All ,
    I have an issue where i create a meeting rwquets and then it goes for approval to the manager , but in this case the manager is not able to see the approve and reject button in the screen , whereas it appears in the back end , please suggest what setting are to be in place to appear those two buttons to click on .

    Hi,
    Then you will have to modify the standard UWL configuration file.
    If your task looks like a standard task (maybe you copied a standard task and modified it slightly), you have to find the ItemType corresponding to the standard task in the UWL configuration file then copy this ItemType and adjust it for you custom task. Please take a look at my last post in another thread : Re: UWL - how to approve purchase requisitions
    If your task is 100% custom then you'll have to find out what is behind the Approve and Reject buttons in the Business Workflow and modify the UWL configuration file accordingly. For instance if a function module is used to approve or reject the request you can define your approve and reject actions using the FunctionModuleActionHandler. You can find more information in the documentation : [Task Launch Customization|http://help.sap.com/saphelp_nw70/helpdata/en/36/dd4ad73c86412e81e9ce66eeb147e7/frameset.htm].
    Regards,
    Pierre

  • Error Message = 3205: '~WF_ADHOC-1446' is not a valid role or user name

    Hi,
    I have an Item attribute of type 'Role' ('CREDIT_COMMITTEE_MEMBERS') and I am using that attribute as performer for two notification activities.
    For first notification, I create an adhoc role and assign it to the attribute and the notification goes successfully.
    I want to send reminder to the people who have not responded to the first notification.
    So I used the following query:
    SELECT recipient_role
    FROM wf_notifications
    WHERE (message_name = 'MSG_TO_CREDIT_COMM_NEED_APPR' or message_name = 'MSG_REMINDER_CREDIT_COMM')
    AND item_key = itemkey
    AND status = 'OPEN';
    The following code was used to update the Item attribute of type "Role"
    FOR rec_cc_role_names IN cur_cc_role_names
    LOOP
    IF l_role_count = 0 THEN
    l_role_users := rec_cc_role_names.recipient_role;
    ELSE
    l_role_users := l_role_users || ' ' || rec_cc_role_names.recipient_role;
    END IF;
    l_role_count := l_role_count + 1;
    END LOOP;
    wf_directory.createadhocrole
    ( role_name => l_role_name,
    role_display_name => l_role_display_name,
    notification_preference => 'MAILTEXT',
    role_users => l_role_users,
    expiration_date => NULL);
    wf_engine.setitemattrtext
    ( itemtype => 'XXCCVOTP',
    itemkey => itemkey,
    aname => 'CREDIT_COMMITTEE_MEMBERS',
    avalue => l_role_name);
    The second notification activity is throwing the below error
    Error Name = WFNTF_ROLE
    Error Message = 3205: '~WF_ADHOC-1446' is not a valid role or user name.
    Error Stack =
    Wf_Notification.SendGroup(~WF_ADHOC-1446, XXCCVOTP,
    MSG_REMINDER_CREDIT_COMM, 07-APR-10, WF_ENGINE.CB)
    Wf_Engine_Util.Notification_Send(XXCCVOTP, 154009, 186344,
    XXCCVOTP:MSG_REMINDER_CREDIT_COMM)
    Wf_Engine_Util.Notification(XXCCVOTP, 154009, 186344, RUN)
    Kindly help.
    Thanks,
    Amit

    The users list was null for the role, which was causing the error. The query populating the user list was not returning any row.

  • Problem calling a EJB Java Client from Java Activity Agent

    Hi,
    We have a wrapper java class that calls to an EJB through a JNDI lookup. The wrapper class is called from a workflow. The problem is that the call fail with the following message error:
    Error : getRemoteHome Lugar: ServiceLocator NamingException Mensaje Error: Receive timed out
    Mon Jan 09 15:32:13 EST 2006 Enqueuing VIC/97513 com.tallion.tax.workflow.assessment.Update
    F_FN_ERROR (MODULE=com.tallion.tax.workflow.assessment.Update) (ITEMTYPE=VIC) (ITEMKEY=97513) (ACTID=10617) (FUNCMODE=RUN) (ERRMESSAGE=getRemoteHome Lugar: ServiceLocator NamingException Mensaje Erro
    The wrapper class has in their classpath a jndi.properties as follows:
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.provider.url=69.0.137.120:1099
    java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
    The call just works fine when we restart the Java Activity Agent and then, after a while it fails again with the same error.
    Any ideas/workaround?
    Thanks.

    I have a situation that is a bit similar. I have successfully used beans for storing methods used in JSPs and used by other methods in the same class as was suggested above. Now I would like to break some methods into another (utility) class since they are lower level and can be used by lots of things. They are for database operations (given a String query and String dbname, it queries and returns ResultSet for example). I want to have them in a separate class for reusability and OOP.
    I am having problems calling those public static methods in the public class from my bean that communicates with the JSP. I can't compile the class that calls the method in the database ops class. I get an error like :
    loginHelper.java:45: cannot find symbol
    symbol : variable sqlHelper
    location: class dbHelperBean.loginHelper
    and when I include the package name in the call I get
    loginHelper.java:45: cannot find symbol
    symbol : class sqlHelper
    location: package dbHelperBean
    That's strange since the package of both classes is dbHelperBean and the class is indeed called sqlHelper. I tried to compile it in the same directory as sqlHelper as well. What am I doing wrong?
    Thanks for any help.

  • Regd Workflow for a new custom page

    HI ,
    We have created 2 pages for some functionality where in user can login n serach for a person and update certain attributes like his source/company, assignment category etc.
    First page he can searach the person and after search results come in, he can click on a link and go to the next page where he can edit the attributes n submit.
    Now after updating and submitting the page, we have a reqt to send notifications to the initiator in case the user has approved the txn or rejected or sent for correction. But we dont know how to achive it with the 2 pages n no workflow.
    How to launch a workflow for this ?
    or is there a way we can send notification from backend without using workflow n it shud still come in the worklist of a person.
    Regards,
    Preeti

    Hi Preeti
    DECLARE
    l_itemtype VARCHAR2(30) := 'XX_TEST';
    l_itemkey VARCHAR2(300) := 'TEST';
    BEGIN
    Begin
    wf_engine.createprocess(l_itemtype, l_itemkey, 'XX_MAIN_TEST');
    Exception
    when others then
    dbms_output.put_line('Error in create process:' sqlerrm);
    End;
    BEGIN
    wf_engine.setitemuserkey(itemtype => l_itemtype
    ,itemkey => l_itemkey
    ,userkey => 'USERKEY: ' l_itemkey);
    EXCEPTION
    when others then
    dbms_output.put_line('Error in set userkey process:' sqlerrm);
    END;
    BEGIN
    wf_engine.setitemowner(itemtype => l_itemtype
    ,itemkey => l_itemkey
    ,owner => 'SYSADMIN');
    EXCEPTION
    when others then
    dbms_output.put_line('Error in set owner process:' sqlerrm);
    END;
    BEGIN
    wf_engine.startprocess(l_itemtype, l_itemkey);
    dbms_output.put_line('Process started');
    commit;
    EXCEPTION
    when others then
    dbms_output.put_line('Error in set owner process:' sqlerrm);
    END;
    END;These are the details of the functions used
    1> wf_engine.createprocess
    This API creates a new runtime instance of the workflow process, Pass the item type and item key for the workflow.
    2> wf_engine.setitemuserkey
    Use this API to mark the new runtime instance of the workflow process with an
    end–user key
    3> wf_engine.SetItemAttrText
    Use this API to set values for the item type attributes defined for workflow process .E.g.: Email ID, Description defined in the workflow.
    4> wf_engine.setitemowner
    Use this API to set the value of owner (Of Workflow)
    5> wf_core.context
    In case of exception, it will help in locating source of an error.
    6> wf_engine.startprocess
    Use this API to invoke the workflow for the item type and item key specified.
    Ajay

Maybe you are looking for

  • Any read only access for TREXadmin?

    Is there any way to set up TREXAdmin to be a read only tool? My application group want access to it I'm not sure the request will get approved unless we can limit the power of the TREXAdmin tool.  Are there any switches we can pass or script entires

  • Need Help Fast! Page is dispalying twice in quiz

    I have created a quiz using tips from another post in this forum. I insterted a regular slide with a continue button before the quiz questions. I insterted another regular slide at the end of the questions with a re-take button that points to that fi

  • G4 iMac migrates to Intel Core Duo

    I just migrated the contents of my 17” G4 iMac to a 20” Core Duo. The only piece of software that wouldn’t run on the new Mac was Nikon Capture 4.4.1; upon launching, it told me that it was missing necessary files. I reloaded the software from my ori

  • ASP & Clob fields in the Oracle Database 8i

    Hi All, This is the first time I am posting a question. We are having a problem interfacing ASP pages with Clob fields int he Oracle Database. We are trying to display clob fields in an oracle database from ASP PAge. The ASP Page does a select to a c

  • Version 9.1 - Advanced GL Account determination - WIP Mapping Tab

    Dear community, Does anybody have an idea / documentation with respect to the functionality under the WIP Mapping tab in Advanced GL Account determination screen of version 9.1? Consolidate from accounts can be mapped to Consolidate To accounts under