Agents: Method or Rule - WF more robust vs. better performance

Hi all,
we are in ECC 6.0 and building several workflows to cater for HR processes. These workflows will be implemented globally.
Earlier this year, this thread talked a bit about this and I am using some of the statements from it in this post:
Responsable agents: What's better? Role or expression (variable)
We are writing a function module to Find Manager. What I am trying to determine is the best way to use this function module. I can either create a method to call it, or I can create a rule (called 'role' up to 4.6) to call it or I can create a virtual attribute to call it.
This function module will be called a lot as most of the workflows will involve the employee's Manager.
If implemented as a method, an RFC is used and I will need 2 steps in the WF - but I will be able to 'trap' any errors returned by the function module, e.g. manager not found, and use the returned exceptions within the workflow. The method can be implemented in a generic WF_UTILITY class/BOR, it doesn't need to be linked to a particular class/BOR.
If implemented as a rule, it is 1 step instead of 2 - less logs, better performance. But if the rule fails, the workflow goes into error. I do not think there is a way to avoid the workflow going into error.
I might be able to create a virtual attribute for it, but one of the parameters for the function module is the workflow that is calling it & it will also mean that I would have to make sure that every workflow has an instance of the object that I implement the virtual attribute.
Is it worthy to 'trap' the errors and deal with it within the workflow? Or it is better to let the workflow go into error?
Please let me know your thoughts on this one.
Much thanks and regards,
Cristiana

I agree with Raja that you should choose the approach with rules. In your version you can also use tools to re-evaluate rules for active workflows to redetermine the agents, an option you lose if you implement it as a virtual attribute.
Let the rule fail (flag HRS1203-ENFORCE set, the checkbox at the bottom of the rule definition screen) if no agent is found. Don't harcode sending it to anyone if no agent is found, that just gives you less flexibility. Whether the workflow administrator receives a work item in the inbox or sees it in the administrator transactions shouldn't make much difference to an administrator.
If you want to avoid the workflow going into error (sending it to an administrator is not better than letting it go into error, it is just an error handling strategy) you must as in all programming have defined rules for handling the known problems. This could e.g. be a table which specifies who will receive the workflow (with as many parameters as you like for finding the most relevant person) if the proper agent can not be found. I have implemented solutions along those lines, but it always boils down to finding someone who will accept having responsibility for handling errors.

Similar Messages

  • Is there a way to make Aperture use more RAM for better performance?

    I know in Photoshop or Lightroom (I forget which) you can designate the amount of RAM the program uses. Is it possible to do this in Aperture? If not, is there any other way. I just want it so that when I'm using Aperture, it designates most system resources to Aperture. Thanks.

    I think that RAM designation in Ps or Lr is rather a limit/maximum which you can set then what it will/must use (perhaps in order to keep other programs running smoothly).
    If you simply dont run any other programs Aperture should get all the attention it can get from your computer. Well maybe it cant use all your RAM if you have 8GB.. but it will use what it needs.
    I believe that there are some terminal commands that can assign CPU priority to some processes, but in not entirly sure about how that works and if it helps.. just search for it on the web..

  • Looking for something more robust than global variables

    Hi,
    The company I work for makes really big deals based on the Forms we develop,
    and it makes me edgy to rely on :Global.variables to assign big amounts of money
    to a field or another.
    Maybe someone could direct me to a paper about a more robust scheme to run tests deciding what is going to happen next, like calling another form or populating another block?
    Many thanks :-)
    Message was edited by:
    JeanParis

    JeanParis,
    I did a quick Google search, but didn't find any reference material on you question so I'll give you my personal preference. Bear in mind, it truly was a "quick" search. I'm sure there is information about this topic somewhere.
    I use a Global Variable (GV) when a value is needed by significant number of Forms in the application. If the value of the is only needed by a few Forms, then I use a Parameter List. When I do use GVs, I only use them for as long as I need them. In other words, I'll assign the value of the GV to a Forms Block Item (base table or Control Block) or a parameter and then set the value of the GV to NULL. This ensures the value is only available "Globally" for as long as it is absolutely needed. This does cause a little extra work, but it make the Form safer in my opinion.
    If I simply need to have access to a "Global Variable" within the scope of a single form, I prefer to use a Form Parameter (FP). I like using using FPs over a Control Block (CB) Item because there is less overhead (attributes of a FP) than with an Item (attributes of the Item) in a CB. I know this is nit-picking, but there is a cost associated with each attribute that is loaded into memory and I like to keep this cost to a minimum. (I suppose if you sub-classed your CB Item then it would share the attributes and reduce the overhead even more). I develop Forms for the web using Forms 10g so any time I can shave off the load-time of my Form is worth it to me.
    Hope this helps.
    Craig...
    Message was edited by:
    CraigB
    Steve beat me to the punch. I like his option as well and have used this method a time or two. :-)

  • Being deaf, I rely on the vibrate mode to alert me to incoming messages. I recently obtained an iPhone 4 and I find its vibrate mode wimpy, causing me to miss calls. Is there any way to make it more robust?

    Being deaf, I rely on the vibrate mode to alert me to incoming messages or reminders. I haven't had problems with my previous PDAs such as Blackberry and Motorola, but since I obtained an iPhone 4, I`ve discovered that its vibrate mode is more of a whimper than anything else. I`ve missed many calls as its vibes are indiscernible when it`s in the holster on my belt. Is there any way to make the vibes more robust? I`ve amped up the ring volume control to no avail.

    No, there is no adjustment for the vibrating mode.

  • Why is the static method in the superclass more specific?

    Why is the static method in the superclass more specific than the static method in the subclass? After all, int is a subtype of long, but Base is not a subtype of Sub.
    class Base {
        static void m(int i){ System.out.println("Base"); }
    class Sub extends Base {
        static void m(long l){ System.out.println("Sub"); }
    class Test {
        public static void main(String[] args) {
            int i = 10;
            Sub sub = new Sub();
            sub.m(i);
    }The first example compiles without error.
    Output: Base
    class Base {
        void m(int i){ System.out.println("Base"); }
    class Sub extends Base {
        void m(long l){ System.out.println("Sub"); }
    class Test {
        public static void main(String[] args) {
            int i = 10;
            Sub sub = new Sub();
            sub.m(i);
    }In the second example, both instance methods are applicable and accessible (JLS 15.12.2.1), but neither is more specific (JLS 12.2.2), so we get a compiler error as expected.
    : reference to m is ambiguous,
    both method m(int) in Base and method m(long) in Sub match
    sub.m(i);
    ^
    1 error
    Why don�t we get a compiler error for the static methods?

    Thank you for your ideas.
    ====
    OUNOS:
    I don't get Sylvia's response. This is about static methods, what are instances are needed for??Yes, the question is about static methods. I included the example with non-static methods for a comparison. According to JLS 15.12.2, both examples should cause a compiler error.
    And why you create a Sub object to call the method, and dont just call "Sub.m(..)"Yes, it would make more sense to call Sub.m(i). Let�s change it. Now, I ask the same question. Why is there no compiler error?
    ====
    DANPERKINS:
    The error in your logic stems from calling static methods on instances, as ounos pointed out. Solution: don't. You won't see any more ambiguities.A static member of a class may also be accessed via a reference to an object of that class. It is not an error. (The value of the reference can even be null.)
    Originally I was looking only at the case with non-static methods. Therefore, I used sub.m(i). Once I understood that case, I added the static modifiers. When posting my question, I wish I had also changed sub.m to Sub.m. Either way, according to JLS 15.12.2, a compiler error should occur due to ambiguous method invocation.
    ====
    SILVIAE:
    The question was not about finding an alternative approach that doesn't throw up an ambiguity. The question related to why, in the particular situations described, the ambiguity arises in only one of them.
    Yes.
    Proposing an alternative approach doesn't address the question.
    Yes.
    ====
    If anyone is really interested, here is some background to the question. Some people studying for a Sun Java certificate were investigating some subtleties of method invocations:
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=24&t=019182
    I remember seeing the non-static case discussed in this forum once before in a more practical context. jschell probably knows the link.

  • Interfaces declare methods that one or more classes may or may not implemen

    Interfaces declare methods that one or more classes may or may not implement.
    true or false?

    Encephalopathic wrote:
    If you want to appear to be more than just someone scrounging for someone else to do their homeworkHe/she is what they is
    [http://forum.java.sun.com/thread.jspa?threadID=5292343]
    [http://forum.java.sun.com/thread.jspa?threadID=5283461]
    [http://forum.java.sun.com/thread.jspa?threadID=5283412]
    [http://forum.java.sun.com/thread.jspa?threadID=5279385]

  • [svn:fx-trunk] 9054: Refactoring DataGroup a bit to allow for more robust delegation of renderer updates to owning components .

    Revision: 9054
    Author:   [email protected]
    Date:     2009-08-04 07:12:22 -0700 (Tue, 04 Aug 2009)
    Log Message:
    Refactoring DataGroup a bit to allow for more robust delegation of renderer updates to owning components.  Found and addressed an issue where we were setting the label for each item renderer upwards of four times each update.
    QE notes: None
    Doc notes: None
    Bugs: SDK-22153, SDK-22226
    Reviewer: Ryan
    Tests run: Checkin, Mustella Spark (List, ButtonBar, DataGroup)
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-22153
        http://bugs.adobe.com/jira/browse/SDK-22226
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as

  • Is iPhoto 09 more robust than 08?

    Hi All,
    I never upgraded to iLife 09 because I didn't want any of the new features. However, iPhoto has begun to corrupt its database for the second time in 3 years and I was wondering if iLife 09 was less likely to cause this problem.
    This is the standard problem where thumbnails of photos show but the file reference to the full image is corrupt. I just noticed it on some old photos so I'm not sure of my backup will be similarly affected. This is not the place to ask how to fix the problem but I thought Terence and Toady would be likely to know if iPhoto 09 is the long term solution. =)
    Personally, I'm wondering if iLife '10 will catch my eye.
    Ta
    Dave

    Yes iPhoto '09 appears to be a lot more robust and the new rebuild the iPhoto database from the last automatic database backup is very helpful when there are problems
    LM

  • Is there a wider need for an industrial spec, hard cased, scratch and bump resistant iPad and iPhone? (one that is more robust to outdoors and an engineering environment.

    Is there a wider need for an industrial spec, hard cased, scratch and bump resistant iPad and iPhone? (ones that are more robust in the outdoors and an engineering environment.) With the acceptance of app based problem solving in industry, the only obstacle to purchasing apple products seems to be their emphasis on providing an asthetic product that looks cool. Industry however, needs something that is harder wearing, splashproof/showerproof, work in the cold and dirt and is fully wipeable. If such an apple product existed I believe they would move units.

    I use the ipad in a hydrometallurgical plant.  Lots of dust, harsh chemicals, and where equipment come to die.
    I've used laptops/ tablet pcs.  All having a very bad problem of sucking in air to cool the computer.  The slight acid mist in the air corrodes the contacts in the computer and they last ~ 4 months. 
    I have moved on to using a ipad currently in a glorified zip lock bag from the internet that has been working for the last year.   I haven't dropped it yet so that's great.  Most of my applications are done in a virtualized environment where i connect in to using RDP. 
    It works flawlessly.  When the zip lock bag i'm usign gets too scratched up to read easily, I just replace the 10$ bag. 
    I do want another case.  I am waiting on the lifeproof case coming out for the ipad2.  Shockproof, dustproof, and waterproof.   Much classier than my zip lock bag solution.
    Within my plant, there is 4 ipads.  
    they have fit the bill so far.  Only downfall of ipad for our windows enterprise system is the lack of sharepoint browsing natively within the ipad.  I can do it with RDP but come on. . .

  • OAF collapse, Payment Method Defaulting Rules (payments)

    hi all,
    i am using payments administrater responsibiliy,
    navigation:
    - Oracle Payments Setup
    - Level 3Payment Method Defaulting Rules
    whenever i click for this feature (Level 3Payment Method Defaulting Rules) html page (file version: /oracle/apps/iby/disbursement/setup/defaultmethod/webui/DmRulesPG 120.4.12000000.3)
    collapses with following message:
    oracle.apps.fnd.framework.OAException: java.lang.NullPointerException
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912)
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:2195)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:280)
         at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:68)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:214)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:219)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:395)
         at OA.jspService(_OA.java:221)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:619)
    ## Detail 0 ##
    java.lang.NullPointerException
         at oracle.apps.fnd.framework.webui.OAAdvancedTableHelper.setMetaDataProperties(OAAdvancedTableHelper.java:391)
         at oracle.apps.fnd.framework.webui.OAAdvancedTableHelper.createWebBean(OAAdvancedTableHelper.java:183)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1477)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:1142)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:734)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:714)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.addAkChildren(OAWebBeanContainerHelper.java:237)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:205)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:131)
         at oracle.apps.fnd.framework.webui.OAHeaderHelper.setMetaDataProperties(OAHeaderHelper.java:85)
         at oracle.apps.fnd.framework.webui.OAHeaderHelper.createWebBean(OAHeaderHelper.java:66)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1477)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:1142)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:734)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:714)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.addAkChildren(OAPageLayoutHelper.java:741)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:205)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:131)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.setMetaDataProperties(OAPageLayoutHelper.java:294)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.createWebBean(OAPageLayoutHelper.java:245)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1477)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:1408)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:1294)
         at oracle.apps.fnd.framework.webui.OAPageBean.createRootWebBean(OAPageBean.java:4885)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2392)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1940)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:280)
         at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:68)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:214)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:219)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:395)
         at OA.jspService(_OA.java:221)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:619)
    java.lang.NullPointerException
         at oracle.apps.fnd.framework.webui.OAAdvancedTableHelper.setMetaDataProperties(OAAdvancedTableHelper.java:391)
         at oracle.apps.fnd.framework.webui.OAAdvancedTableHelper.createWebBean(OAAdvancedTableHelper.java:183)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1477)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:1142)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:734)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:714)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.addAkChildren(OAWebBeanContainerHelper.java:237)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:205)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:131)
         at oracle.apps.fnd.framework.webui.OAHeaderHelper.setMetaDataProperties(OAHeaderHelper.java:85)
         at oracle.apps.fnd.framework.webui.OAHeaderHelper.createWebBean(OAHeaderHelper.java:66)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1477)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:1142)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:734)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:714)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.addAkChildren(OAPageLayoutHelper.java:741)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:205)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.setMetaDataProperties(OAWebBeanContainerHelper.java:131)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.setMetaDataProperties(OAPageLayoutHelper.java:294)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.createWebBean(OAPageLayoutHelper.java:245)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanUsingHelper(OAWebBeanFactoryImpl.java:1477)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBeanFromCustomTables(OAWebBeanFactoryImpl.java:1408)
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.createWebBean(OAWebBeanFactoryImpl.java:1294)
         at oracle.apps.fnd.framework.webui.OAPageBean.createRootWebBean(OAPageBean.java:4885)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2392)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1940)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:280)
         at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:68)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:214)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:219)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:395)
         at OA.jspService(_OA.java:221)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:619)
    any help is appreciated
    thank you !
    br juergen

    Hi Sheli,
    Thanks for the reply and sorry for the late response.
    I have already configured the particular structure for the DME file that has been generated. The issue here is with the data.
    May I ask whether it will be possible for you to kindly help out with the table from where the file is fetching these records. Couldn't figure out those exactly. I think most of the data are being fetched from REGUH, REGUP, REGUT tables but there are some places where the same data which needs to be repeated in another position is not getting populated. Thus I'm not sure whether the system is calling the same table the second time or its some other table.
    It will be of great help if you can help me out with the list of tables from which the DME file is getting prepared specially the following :
    1. Bank Routing Number
    2. Addenda records associated with entry detailed records
    3. Why there are two line items of 717
    4. Foreign Correspondent Bank Details
    Thanks in advance for the help.
    Have a nice day !
    Thanks and regards
    Anindya

  • Reading agents for a rule

    Hi Friends ,
                 I have created a rule thru PFAC and its working fine...
                 I would like to know is there any function module to retrieve , the agents  for a rule .
    Regards,
    Vijayasekar K
    +91 9845107567

    Hi
    You need to use the function module 'RH_GET_ACTORS', Se example below - this example will return the retreived agent of type US.
    Regards
    Morten Nielsen
    FUNCTION z_get_approvers
    *"*"Local interface:
    *"  IMPORTING
    *"     VALUE(PURGRP) LIKE  T024-EKGRP
    *"  TABLES
    *"      approver STRUCTURE  SWHACTOR
    *"  EXCEPTIONS
    *"      ERROR
      DATA: lt_cont TYPE swcont OCCURS 0 WITH HEADER LINE,
            lt_0105 TYPE pa0105 OCCURS 0 WITH HEADER LINE,
            lv_pernr TYPE pernr_d,
            lv_sobid LIKE hrp1001-sobid,
            lv_plvar LIKE hrp1001-plvar,
            lt_approver TYPE swhactor OCCURS 0 WITH HEADER LINE.
      REFRESH: lt_cont, lt_approver, approver.
      lt_cont-element = 'PURCHASINGGROUP'.
      lt_cont-value   = purgrp.
      APPEND lt_cont.
      CALL FUNCTION 'RH_GET_ACTORS'
        EXPORTING
          act_object                      = 'AC96100002'
    *   ACT_TASK                        =
    *   ACT_WI_ID                       =
    *   ACT_PLVAR                       =
          search_date                     = sy-datum
        TABLES
          actor_container                 = lt_cont
    *   EXCLUDED_AGENTS                 =
          actor_tab                       = lt_approver
    *   ERROR_TAB                       =
       EXCEPTIONS
         no_active_plvar                 = 1
         no_actor_found                  = 2
         exception_of_role_raised        = 3
         no_valid_agent_determined       = 4
         OTHERS                          = 5
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 RAISING error.
      ENDIF.
      LOOP AT lt_approver.
    * approvertype US
        IF lt_approver-otype = 'US'.
          approver-otype = 'US'.
          approver-objid = lt_approver-objid.
        ENDIF.

  • Express 80211n more robust AirTunes?

    I love my Express G for AirTunes but it drops out repeatedly after a few hours of streaming music. Is there any evidence that the new device more robust for AirTunes?

    Not that I notice.
    I just replaced 2 of my b/g Express units for the newer n units...
    The new ones are sometimes worse...
       Joseph Kriz

  • Would Anyone Mind Giving A Few Tips To Make This Script More Robust?

    Hello. I haven't done any scripting before but I've written this script to run as a post-recording process in Audio Hijack Pro:
    on process(theArgs)
    -- This part of the script will disable any timers that are set to repeat exactly 7 days (±1 minute) after the recording started
    -- Dates have the format "Monday 1 January 2007 12:00:00"
    tell application "Audio Hijack Pro"
    set allSessions to every session
    repeat with eachSession in allSessions
    set allTimers to every timer in eachSession
    repeat with eachTimer in allTimers
    try -- The try protects against empty values of "next run date"
    set nextDate to word 1 of ((next run date of eachTimer) as string)
    set nextDay to word 2 of ((next run date of eachTimer) as string)
    set nextMonth to word 3 of ((next run date of eachTimer) as string)
    set nextYear to word 4 of ((next run date of eachTimer) as string)
    set nextHour to word 5 of ((next run date of eachTimer) as string)
    set nextMin to word 6 of ((next run date of eachTimer) as string) as number
    set weekOn to ((current date) + (60 * 60 * 24 * 7) - (duration of eachTimer)) -- This calculates the date in 7 days, less the duration of the timer
    set weekOnDate to word 1 of (weekOn as string)
    set weekOnDay to word 2 of (weekOn as string)
    set weekOnMonth to word 3 of (weekOn as string)
    set weekOnYear to word 4 of (weekOn as string)
    set weekOnHour to word 5 of (weekOn as string)
    set weekOnMin to word 6 of (weekOn as string) as number
    if nextDate is equal to weekOnDate and nextDay is equal to weekOnDay and nextMonth is equal to weekOnMonth and nextYear is equal to weekOnYear and nextHour is equal to weekOnHour and nextMin is greater than (weekOnMin - 60) and nextMin is less than (weekOnMin + 60) then
    set enabled of eachTimer to false
    end if
    end try
    end repeat
    end repeat
    end tell
    -- The script then goes on to import the recordings into iTunes (as wavs), set tags and copy the wavs up to the server
    if class of theArgs is not list then -- This is a standard Audio Hijack Pro routine
    set theArgs to {theArgs}
    end if
    set recordedFiles to {} -- This will protect against theArgs being changed by Audio Hijack Pro whilst this script is still running
    set recordedFiles to theArgs
    set convertedFileList to {} -- This will keep track of the paths to the imported files
    tell application "iTunes"
    set current encoder to encoder "WAV Encoder"
    copy (convert recordedFiles) to trackList -- Do the conversion
    if class of trackList is not list then
    set trackList to {trackList}
    end if
    repeat with eachTrack in trackList -- Set the tags
    set artist of eachTrack to "Theatre Archive"
    set album of eachTrack to word 1 of ((name of eachTrack) as string)
    set convertedFileList to convertedFileList & (location of eachTrack as alias)
    end repeat
    end tell
    tell application "Finder"
    repeat with eachFile in convertedFileList
    -- This section (down to HERE) is a subroutine to delay the file copy until iTunes has finished creating the files
    set currentSize to size of (info for eachFile)
    delay 1
    set latestSize to size of (info for eachFile)
    repeat until currentSize is equal to latestSize -- Keep checking the size every second to see if it's stopped changing
    set currentSize to size of (info for eachFile)
    delay 1
    set latestSize to size of (info for eachFile)
    end repeat
    -- ...HERE
    duplicate eachFile to "Server HD:" as alias -- Copy the files up to the server
    end repeat
    end tell
    end process
    The idea is that it disables the repeating timer that created the recording (as I don't necessarily want it to repeat every week), converts the recording to wav in iTunes and then copies the wav up to our server. If I run it too many times in quick succession some files don't get converted, and then some wavs don't get copied to the server. I'd like to know a way of getting it to tell me why not!
    Thanks for any advice you can give.
    Rich

    Since you specifically ask if people can make it 'more robust', it would help if you indicated which areas, if any, were of particular concern.
    For example, does the script frequently fail in one particular area?
    That would help narrow it down significantly. There's little point in people deeply analyzing code that works just fine.
    If, on the other hand, you're looking for optimizations, there are several that come to mind.
    Firstly, you're making repeated coercions of a date to a string in order to compare them. String comparisons for dates are inherently dangerous for many reasons.
    For one, different users might have different settings for their date format.
    Both "Monday May 28th 2007 1:02:03am" and "28th May 2007 1:02:03am" are valid coercions of a date to a string, depending on the user's preferences.
    You might expect the former format whereas the current system settings use the latter so now 'word 1" returns "28th" rather than "Monday" as you expect.
    The problem is exascerbated by the fact that since you're coercing to strings you're now using alphabetical sorting, not numeric sorting. This is critical because in an alpha sort "3rd" comes AFTER "20th" because the character '3' comes after the character '2'. However I'm guessing you'd want events on the 3rd of the month to be sorted before events on the 20th.
    So the solution here is to throw away the entire block of code that does the date-to-string coercions. If my reading of the code and the expected values is correct it can all be reduced from:
    <pre class=command>set nextDate to word 1 of ((next run date of eachTimer) as string)
    set nextDay to word 2 of ((next run date of eachTimer) as string)
    set nextMonth to word 3 of ((next run date of eachTimer) as string)
    set nextYear to word 4 of ((next run date of eachTimer) as string)
    set nextHour to word 5 of ((next run date of eachTimer) as string)
    set nextMin to word 6 of ((next run date of eachTimer) as string) as number
    set weekOn to ((current date) + (60 * 60 * 24 * 7) - (duration of eachTimer)) -- This calculates the date in 7 days, less the duration of the timer
    set weekOnDate to word 1 of (weekOn as string)
    set weekOnDay to word 2 of (weekOn as string)
    set weekOnMonth to word 3 of (weekOn as string)
    set weekOnYear to word 4 of (weekOn as string)
    set weekOnHour to word 5 of (weekOn as string)
    set weekOnMin to word 6 of (weekOn as string) as number
    if nextDate is equal to weekOnDate and nextDay is equal to weekOnDay and nextMonth is equal to weekOnMonth and nextYear is equal to weekOnYear and nextHour is equal to weekOnHour and nextMin is greater than (weekOnMin - 60) and nextMin is less than (weekOnMin + 60) then
    set enabled of eachTimer to false
    end if</pre>
    to:
    <pre class=command>set nextDate next run date of eachTimer
    set weekOn to ((current date) + (60 * 60 * 24 * 7) - (duration of eachTimer)) -- This calculates the date in 7 days, less the duration of the timer
    if nextDate is greater than (weekOn - 60) and nextDate is less than (weekOn + 60) then
    set enabled of eachTimer to false
    end if</pre>
    The next area of concern is your copying of the files to the server. I don't understand why you have all the delays and file size comparisons.
    Given a list of aliases convertedFileList, you can simply:
    <pre class=command>tell application "Finder"
    duplicate convertedFileList to "Server HD" as alias
    end tell</pre>
    The Finder will copy all the files in one go and you don't need the repeat loop or the delays.

  • Immediately write outputs - more on modbus plus performance

    more on modbus plus performance
    I have more dilemmas considering modbus plus. I'm trying to reduce the unnecessary traffic as much as possible, so I've unchecked "immediately write outputs" in advanced settings for modbus plus hoping that lookout will write to plc only when modbus object is polled. However, it seems that it doesn't happen that way, looks to me like lookout is writing to plc poll or no poll. I need to cut down the traffic because I have delay in system response and I'm considering lookout's share in it.
    I have a feeling that making a system with deterministic response (which should be one of mb+ highlights) is quite cumbersome and sometimes impossible.
    Can anyone comment on this issue and maybe share ideas for improving modbus response time? Is there anything about modbus plus and lookout on ni.com that I'm not aware of?
    Darko

    By default, Lookout writes Outputs immediately (without waiting for the poll).  BUT, if you uncheck the "immediately write outputs" setting, it should write only when polled.  If it's not doing this, it's a bug -- can someone at NI verify this? 
    Couple of things you can try for improving communication performance:
    1. Make sure you're not writing outputs every-so-many polls (unless you really have to).  By default, Modbus Object writes the Outputs every 100th poll -- even if none of them have changed.  Use the Modbus INI settings to change this behaviour:
    http://digital.ni.com/public.nsf/allkb/2E64D5CF87CA6A1086256BB30070DC1A
    2. If you have some IO points which don't need to be read as fast as others, use a second Modbus object for these with a slower poll rate (but on the same address, etc.). 
    3. Use an appropriate update deadband for your analog reads -- you can filter out "noise" from data this way.  Note that the IO are still read every poll, but aren't propagated to the rest of the system unless the deadband is surpassed.
    Hope this helps,
    -Khalid

  • More than one service Performer per sales order position

    Hallo ByD community
    We are using service type "Service - time and material" in our sales orders and we are using the integrated time recording in the self-service (time sheet) to track actual times for an sales order. For that you have to assign a service performer in the sales order position, so that the person is able to enter acutal times for this sales order Now it can happen that not only one person, but a team (or two or more people) has to record times for this sales order position.
    is that possible and if not what would you suggest.
    F.e.. in project management you can activate time recording for a project task for several people.
    Thank you :-)
    BR

    Hi  lisa ,
    It is not possible to enter more than one service performer for a service in sales order .
    But you can  perform the service with two people and have two service confirmations.
    The time entered in service confirmation will be reflected in invoice only(if time and material).
    Also you cannot enter the time sheet with respect to sales order , it is only valid for project task and
    and time types.
    Regards,
    Harish

Maybe you are looking for

  • Session state and browser cache - Back button problem

    Hi all, I have a problem (and unless I'm missing something I think we all do) with session state and use of the browser's Back button. I really hope I'm just being dumb... Background scenario: Page P has a sidebar list allowing the user to select wha

  • How do I get my tabs back in safari on iPad

    Hi, originally every time I went into Safari all my tabs stayed open and there were hundreds of them. I searched the forum and it advised to go to the safari home page, click on private, then delete all tabs, then click on private again. But now if I

  • SAP-R/3- In which table, numeric values stored in  equipment characteristis

    SAP-R/3- In which table, numeric values stored in  equipment characteristis are captured. In AUSP table Char values in equipment characteristics are captured against object number.But this table does not cappture numeric characteristics. Are these nu

  • Determining which PCA to use between new-GL and classic EC-PCA

    I tried to use 1kek to transfer AR and AP from FI to PCA but failed with message saying "Document Splitting is Activated". We are considering using PCA to make B/S and P/L of several business unit in a company. We are using SAP 6.0. After looking for

  • DB Adapters inserting data into 2 diff tables of same database giving issue

    Hello, I am using Oracle soa suite 11g BPEL. I need to insert data in 4 different tables of same Oracle database with the requirement of rollback all data if error occurs anywhere. I have configured the DB adapater as XA enabled on console . In code: